C++buider中ServerSocket用什么接受数据流,并且如何判断数据流接收完毕?
C++buider中ServerSocket用什么接受数据流,并且如何判断数据流接收完毕?望高手指点迷津。
[解决办法]
定义协义是必须的,把数据按照协议分成包发送,协议一般由数据包头和数据组成,包头至少要包括数据包长度的信息且包头的长度固定,接收时先接收包头并解析出数据包的长度,再接收数据包内容,这样循环处理。
每个数据包的大小选择也非常有技巧,在100MB局域网中,每个包设为7K左右,效率最高,每秒钟可达传送10MB字节,接近网络的极限,9K的话,不到2MB,你可以测试一下。
这种方法只对可靠连接有效,UDP消息模式不行。
本人专业从事中间件开发,一般的通信问题都可以解决,可以参考: