关于TCPSERVER,请教大神们
我用服务端用的TCPSERVER接收数据。在内网测试时没有问题,可拿到外网上测试的时候,如果接收的数据量大,就自动断开连接了。怎么回事?有什么办法解决吗
[解决办法]
外网和内网确实有很大的区别,这是很正常的现象,连接数大的应用建议使用IOCP,不过IOCP网上的例子、模型等,90%都写得很初级,考虑非常不够,得自己下翻工夫去研究。
[解决办法]
连接数不大<100,而发送量很大的应用,应该问题不大才对,并发不多,做好临界区即可,会不会是你的程序没有考虑数据包分割的情况?
比如客户端提交ABCDEFG
而服务器有可能收到的是 ABC DEFG,把一个数据包分2次触发事件了,这是必须考虑的,叫做粘包,
[解决办法]
看了你的收返回值是控件给你处理了,你的发你确认是发成功了吗?你发的数据大小和你发送返回的数据大小是不是一致的,你的收发数据大小是不是相等的,大数据包不处理这个肯定会出问题。