socket高手请进,接收丢失数据怎么解决?(100分) 看一下是哪个函数出错,一般不会是缓冲区问题,注意线程同步和socket函数的出错处理程序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢各位的参与,我今天准备给大家结账了,但我还是认为是接收缓冲区溢出,当你在2M的网上同时接收100个网页时,如果从socket的内部缓冲区读取的速度跟不上肯定会发生接收缓冲区溢出的现象,其实这时只要重新下载一遍就行了,但我现在要实现的是“尽力而为”的应用(搜索引擎),想用加大内部缓冲的办法来尽量避免接收缓冲区溢出的发生。 加大"缓冲区"不是一个合理的办法!!SOCKET的缓冲区受网卡物理缓冲区的大小限制.合理的直接缓冲区一般2K--5K,你要解决这个问题,可以编写一个"接受数据"的外包函数,用它来"黑箱"接受数据,对外而不在乎尺寸. “如果从socket的内部缓冲区读取的速度跟不上肯定会发生接收缓冲区溢出的现象。”这是不可能的。这时tcp的流量控制将会起作用。如果发送端是同步方式工作,则发送函数会被阻塞;如果发送端是异步方式工作,则收不到发送消息。此时接收方如果是同步方式工作,则接收函数会立即返回;如果是异步方式工作,则会收到接收消息。当socket的内部缓冲区的数据被取走或部分取走后,发送端可以继续发送。tcp的流量控制绝对不会有问题。 服务端在关闭时提示 “在对一未命名文件进行访问时发生一个不明错误”?是客户端离开时产生的问题? 关于文件夹名.exe的一些疑问 请问各位高手在Dialog中不能加入一个button,为什么?怎样才能实现?谢谢! 求助各位VC高手 RasEnumEntries函数在win98下为何不行啊? 我改变屏幕分辨率后,最下面的系统托盘所在那个工具条位置不变,衰。。。 机子无法启动,各位大虾帮帮忙! 一个关于VC++6.0编译器的问题 什么情况会导致我的程序失去数据库连接? 急急急!欢迎大家给出解决方案! 窗口大小的设置 游戏人生
合理的直接缓冲区一般2K--5K,
你要解决这个问题,可以编写一个"接受数据"的外包函数,
用它来"黑箱"接受数据,对外而不在乎尺寸.
这是不可能的。这时tcp的流量控制将会起作用。
如果发送端是同步方式工作,则发送函数会被阻塞;
如果发送端是异步方式工作,则收不到发送消息。
此时接收方如果是同步方式工作,则接收函数会立即返回;
如果是异步方式工作,则会收到接收消息。
当socket的内部缓冲区的数据被取走或部分取走后,发送端可以继续发送。
tcp的流量控制绝对不会有问题。