socket网络编程服务器与客户端中途关闭的有关问题
socket网络编程服务器与客户端中途关闭的问题
目前在做最基础的网络编程,两个进程:SERVER和CLIENT.
问题是一旦SERVER关闭,再开启SERVER进程,CLIENT用原来的套接字CONNECT(),无法连上SERVER,必须重新创建客户端套接字?
反过来却没有这个问题,CLIENT进程关闭,SEVER并不需要重新创建客户端套接字。就可以用ACCEPT()连接新的CLIENT?
感觉和创建套接字的实质有关,有没有大牛能指点一二!
------解决方案--------------------
accept就是重新创建了一个socket的实例,用原来的肯定不能通讯的,一样的道理;
------解决方案--------------------
CLIENT进程用的是临时端口
而SERVER进程一般用的是知名端口,当关闭时,原来的套接字处于2MSL等待状态
------解决方案--------------------
现在和心跳没有关系!而且你的程序加上地址复用吧!然后关闭以前的套接字,重新connnect
目前在做最基础的网络编程,两个进程:SERVER和CLIENT.
问题是一旦SERVER关闭,再开启SERVER进程,CLIENT用原来的套接字CONNECT(),无法连上SERVER,必须重新创建客户端套接字?
反过来却没有这个问题,CLIENT进程关闭,SEVER并不需要重新创建客户端套接字。就可以用ACCEPT()连接新的CLIENT?
感觉和创建套接字的实质有关,有没有大牛能指点一二!
------解决方案--------------------
accept就是重新创建了一个socket的实例,用原来的肯定不能通讯的,一样的道理;
------解决方案--------------------
CLIENT进程用的是临时端口
而SERVER进程一般用的是知名端口,当关闭时,原来的套接字处于2MSL等待状态
------解决方案--------------------
现在和心跳没有关系!而且你的程序加上地址复用吧!然后关闭以前的套接字,重新connnect