vb winsock客户端关闭后二次连接问题

来源:百度知道 编辑:UC知道 时间:2024/09/20 15:30:32
我简单的设计了一个客户端和服务器端传输几个字符
我第一次连接肯定正常(修改代码过后保存执行),我先关闭服务器端也没有任何问题,但如果在连接状态下我先把客户端关闭了(也调用winsock.close),然后 再开起,就连不上了,我重新启动服务器端也一样,只有代码随便哪里动一下,保存再启动服务器端就又能正常连了,不知道怎么回事哦

winsork 发起连接时到结束前 不能再次发起连接!

就像你面前有个水杯 你要倒牛奶 又要倒水喝 ,所以你必须先喝完牛奶再倒水!

如果是多用户登陆:
winsork需要建立 控件组~
每个用户winsork1对应一个服务端的winsork1(n).
组成1对1的 连接关系!

1、客户端注意,不要用Winsock1.LocalPort,对本地端口进行设置,否则连接断开后,系统不会立刻释放端口,短时间内不能再次重复使用该端口
2、服务器端注意,winsock1.close事件中要写上winsock1.listen,关闭后继续监听

客户端关闭连接后,没有关闭服务端连接
客户端关闭连接后,会触发服务端WinSock_Close()事件
在此事件过程中调用winsock.close方法,关闭服务端连接,才能再次连接

看你是采用tcp还是udp协议

udp中就没有状态的,怎么连都可以,服务器端收到数据就处理就行了。
tcp是有状态的,断了之后,会触发相应的事件的。你要在事件中重新配置服务器为等待连接方式才行。
很久不用vb了,也没有环境测试。你仔细检查下看看咯。