社区
通信技术
帖子详情
socket连接成功,关闭后,再连接出错??
cdeveloper
2002-09-30 09:29:53
谁能帮我解决一个问题,socket和远端服务器连接(socket.connect)以后,断开(socket.close),当再连接的时候就出错了,各位有没有碰到这个问题啊! 救救小弟!
...全文
1081
17
打赏
收藏
socket连接成功,关闭后,再连接出错??
谁能帮我解决一个问题,socket和远端服务器连接(socket.connect)以后,断开(socket.close),当再连接的时候就出错了,各位有没有碰到这个问题啊! 救救小弟!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gongdath
2002-10-07
打赏
举报
回复
当你CLOSE一个套接口后,内核已经释放了这个套接口的所有资源(假设这个套接口被本进程所独占),所以当你想重新连接时,不能使用原来的套接口描述符,必须重新创建一个.
hjt3328
2002-10-07
打赏
举报
回复
错误代码是什么啊。
你初始化的时候是不是没有初始化socket呀
cai3995
2002-10-07
打赏
举报
回复
没有初始化Socket。
gongdath
2002-10-07
打赏
举报
回复
你在连接前用SOCKET函数再创建一次就可以连接上了.
这个问题在很多书上都提到过.
gongdath
2002-10-07
打赏
举报
回复
我同意这个观点:
问题在于没有重新socket(..),因为close后已经把套接口关闭了
zhnavy
2002-10-01
打赏
举报
回复
我觉得squiffy说的可能是对的,如果不是特殊需要,本地源端口不需要指定,否则当客户端主动关闭进入TIME_WAIT状态后,在这个端口就无法再和远端建立连接了,除非等1、2分钟,TOME
VampireQQ
2002-10-01
打赏
举报
回复
对,客户端的端口一般不需要指定,让系统自动分配就好了,如果指定的话,断开连接后,在2msl的时间内,这个socket pair的状态是处在time_wait,不能使用原来的IP+PORT对,不管是服务器端还是客户端。过了2msl时间后,你就可以使用原来的socket pair了。
netsbull
2002-10-01
打赏
举报
回复
用WSAGetLastError 看看错误码先
squiffy
2002-10-01
打赏
举报
回复
你本地创建socket的时候,是不是指定了固定的端口?本地创建socket的时候,应该使用0,这样每次都变,就不会出现这个情况了。
liunux
2002-09-30
打赏
举报
回复
tcp/ip的连接里,有一个叫重用的属性,你可以把它设置为1,另外,你在close之前,还有,当对方关闭以后,都应该先用shutdown,这样才不会处于time_wait的状态。
bugz
2002-09-30
打赏
举报
回复
close完了后,需要再create一次,如果是api的话,就是重新socket()一次
jyc_nj
2002-09-30
打赏
举报
回复
可能需要等待socket真正的断开.
hohoo
2002-09-30
打赏
举报
回复
服务器循环的调用accept().客户机connect()后,服务器分配socket和客户通信。
myralf
2002-09-30
打赏
举报
回复
能把代码附上吗?
vtable9999
2002-09-30
打赏
举报
回复
你把错误代码打印出来看看就知道是什么原因了。
很可能如sdj(四眼) 所说
sdj
2002-09-30
打赏
举报
回复
问题在于没有重新socket(..),因为close后已经把套接口关闭了
rady88
2002-09-30
打赏
举报
回复
liunux(探索者) 的话有道理,两边都应该调用close,如果只是一边close,另一边还在等待,就不能连接。
socket
连接
错误及原因
Socket
错误指的是在使用
Socket
进行网络通信时,由于各种原因而导致的错误。
Socket
是一种网络编程接口,它允许应用程序通过 TCP/IP 协议或 UDP 协议进行网络通信。在进行网络通信时,可能会出现各种各样的错误,例如
连接
超时、
连接
被重置、无法
连接
等等,这些错误都被称为
Socket
错误。当出现
Socket
错误时,通常需要根据具体的错误信息进行调试和处理,例如修改网络配置、增加
连接
超时时间、检查网络
连接
等等。正确地处理
Socket
错误可以有效提高网络通信的稳定性和可靠性。
socket
连接
建立与
关闭
close函数 定义 close函数可以用于
关闭
套接字,并中只能TCP
连接
。 #include<unistd.h> int close(int sockfd); close一个TCP套接字的默认行为是把该套接字标记为已
关闭
,然后立即返回到调用进程。该套接字不能再由调用进程使用,也就是说它不能再作为read或write等函数的第一个参数。 套接字发送缓冲区的数据将尝试被发送到对端,发...
Socket
连接
出错
总结
下面7种情况是我认为最容易出现的TCP/IP
连接
错误。 [1] kill pid/应用崩溃/正常关机 这几种情况下操作系统会正常将
连接
关闭
,主动发送FIN完成4次分组交换 [2] 操作系统崩溃/机器断电 两种情况 1 如本端不再启动则不会有任何响应到对端,对端会执行[6]的超时重传重过程 2 如果机器后来又启动了,则会在对端写时返回RST
java
socket
重连_重新
连接
后,Java
Socket
连接
“崩溃”
我想在我的服务器和客户端之间创建套接字
连接
. 在
连接
超时后,我的客户端应该重新
连接
. 为此,我每隔3秒尝试
连接
一次插座 . 这很有效 . 但是,当我想开始阅读,但后来我得到错误“套接字
关闭
” . 可能是什么错误?这是错误日志(它在pastebin上,它在这里没有合成):但是在我开始阅读之前,我尝试从套接字中获取IP,这有效......这是我的重新
连接
方法:public void reconne...
c语言
socket
断开自动
连接
,议论一种可靠的
socket
断线重连方法
讨论一种可靠的
socket
断线重连方法做tcp客户端,有时网络问题掉线了,要快速检测到并且重新
连接
。目前的思路是用send和recv
出错
来判断掉线,然后
关闭
接收发送线程,
关闭
socket
,重新创建
socket
来
连接
。但实际中发现掉线后重连会出现错误:Networkisunreachable。查看/dev/下的设备,发现ttyUSB1和ttyUSB2都不见了(程序刚开始运行时是在的,ttyUSB...
通信技术
4,356
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章