socket客户端connect服务端后,如何断开连接?

winxxpSoft 2007-12-26 11:51:41
socket编程中:
客户端connect服务端后,如何断开连接?过后还可以连接服务端。
...全文
1741 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
winxxpSoft 2008-01-02
  • 打赏
  • 举报
回复
怎么给加分??
winxxpSoft 2008-01-01
  • 打赏
  • 举报
回复
谢谢各位
cnwolf 2007-12-31
  • 打赏
  • 举报
回复
close后,下次再connect时,会提示socket不能用了。
shutdown后,下次再connect时,会提示已连接了,就是说还没断开。?????

close 是关闭进程中的socket句柄,如果socket已经没有其它进程占用了,就会断开socket连接,
重新用connect连接时,这时socket句柄已经关掉了,所以提示socket不能用了,需要重新
使用socket()创建一个socket句柄

shutdown 会把系统中的socket对象关掉,此时connect提示已经连接,这个就搞不清楚了
不过此时最好close一下, 因为shutdown只是关掉内核层的socket,进程中应该还保存了
句柄
chpleo 2007-12-31
  • 打赏
  • 举报
回复
会提示端口无法连接 过一会就会自动释放 然后就可以重连了
NKLoveRene 2007-12-30
  • 打赏
  • 举报
回复
socket即使close了,也还是会存在的,除非设置socket的option,设置为立即close
看一下setsockopt()这个函数吧
hanb99 2007-12-30
  • 打赏
  • 举报
回复
这个错误如果是在客户端发生的,那么可能是因为你指定了一个端口与服务器相连,在close之后端口不是立即释放,所以不要指定一个端口,在客户端如果不指定端口,那么系统会随机的分一个,就不会这样了,如果是服务器端有这个问题,那么就不要close了,服务器端如果不是退出的话,应该不用这个函数
我是杨威利 2007-12-28
  • 打赏
  • 举报
回复
First of all , Server's socekt is not close.
if u had closed client's socekt , u should creat it again when u want to connect server's.

薛定谔之死猫 2007-12-27
  • 打赏
  • 举报
回复
不如果不是正在同步的方式传送数据,直接shutdown或者close即可
mymtom 2007-12-27
  • 打赏
  • 举报
回复
close,然后在需要的时候connect呀!
winxxpSoft 2007-12-27
  • 打赏
  • 举报
回复
close后,下次再connect时,会提示socket不能用了。
shutdown后,下次再connect时,会提示已连接了,就是说还没断开。?????
yangsf5 2007-12-27
  • 打赏
  • 举报
回复
记住服务器的ip和端口。。
断开。。再连

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧