本地socket关闭后如何重新绑定?

问题描述

如果一个 unix 套接字绑定到一个路径,listen()s 并做一些工作,之后它被关闭,套接字“文件”保留在文件系统中。但是如果我尝试 connect() 到那条路径,我会得到

Connect errno:111
Connection refused

那么“神器”之后还剩下什么?它仍然是文件系统上的 inode(我可以用 ls 看到它),但它没有绑定,不听,我不能cat,否则我得到

cat: /tmp/unix.str: No such device or address

那么 inode 还剩下什么?我怎样才能让这个“神器”再次活跃起来,绑定和监听套接字( 删除它,并使用该路径创建新的套接字)?

  1. “死”的本地套接字的目的是什么(为什么它关闭后不删除,不再使用它)?

  2. 我怎样才能恢复“死”的套接字? (主要问题)

  3. 谁对错误 connection refused 负责?没有被bind()ed 或不listen()ing?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)