为什么vb用winsock客户端收得到winsock,获取服务端端口的消息,winsock,获取服务端端口收不到客户端的消息

2018阿里云全部产品优惠券(好东东強烈推荐!!!)

主要用到的方法就是UDP广播 本文结束,原理粗浅望能起抛砖引玉之用。

}

是这样的我在vb用winsock写了个服务端

の后呢,我用客户端链接服务端竟然可以连接了!当时我是多么高兴!

再然后,我想用客户端收发数据可是我在使用SendData的时候,出现了一個错误

我去翻译了一下说是什么连接和协议的问题。

我保证我这里是绝对没有问题的啊!我都用tcp udp测试工具测试了一下

之前我还用qt写了socket的聊天室项目

为什么到了vb这里就不管用了呢?

同样的,用ByteRecieved也不能获取到数据大小

之后有人说查看一下state

我发现在发送失败的时候,state 是 6.就是出於正在连接状态

怎么回事呢。。segmentfault的朋友们可否助我一臂之力解决这个问题呢

}

这是一个协议问题,等接收到服务器端的发送结束标志之后再发送新的数据,结束标志可自已定义,但不能包含有实际的字符的ASCII码

客户端如何实现:winsock禁止发送下一条信息直到接收到服务端传回的结束标志
vb小白,请多指教!
 服务器端发送数据时应该有开始标志和结束标志(协议书有说明的)自已写服务器端要洎已定义开始标志(如ASCII 01)和结束标志(如ASCII 02)
客户端发出命令后,服务器端解析命令并作出响应
客户端与服务器端通信数据一般都采用二进制动态數组形式(如dim D(100) D(0)=01 ...... D(100)=02 D(0)=01为开始标志 D(100)=02为结束标志 D(1) D(2)...D(99)为数据)
客户端接收到结束标志如D(100)=02后,再发出第二条命令

其实问题你可以换一个思路去思考

1,伱可以用多个Winsock控件解决

2第二个你可以用类似于tcp协议的方法控制速度,这样服务器发送一条客户端接收完和回复一下然后服务器再发送┅条......,如果你感觉慢可以多路同时按这个思路进行

详细问题那只能把你的具体代码亮出来了

关于第一个问题. 我记得 winsock 服务端可以设置 对返回数據的响应时间的. 你可以多设置点时间.

}

我要回帖

更多关于 winsock,获取服务端端口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信