关于Tserverwinsock和Tclientsocket的问题?(10分)

  • 主题发起人 主题发起人 shengbiao520
  • 开始时间 开始时间
S

shengbiao520

Unregistered / Unconfirmed
GUEST, unregistred user!
我在服务器那边要时时发数据,但我在另一边接受来不及,有可能覆盖缓冲区。我可以用多线程解决这个问题吗?
 
tcp不存在覆盖缓冲区问题, 但我发现,当发的数据包太大的时候,在OnClientRead 要sleep一下,要不,不能完整的接受到数据,如果一次没接收完数据,会引发第二次OnClientRead 事件
 
用阻塞式的 Indy组件开发Socket应用程序,比较好用!!!

 
indy 要注意保护异常, 否则非常容易断线
 
但我还是认为是覆盖了缓冲区,要不然。每次客户端响应的次数和服务端的次数是一样的呢?
 
可能是客户端,还在接受上次的数据。来不及接受这次的数据,而造成数据的丢失啊
 
felixsun:为什么说“indy 要注意保护异常, 否则非常容易断线”?
能给点详细的说明吗?我正在用Indy开发。
 
shengbiao520:“可能是客户端,还在接受上次的数据。来不及接受这次的数据,而造成数据的丢失啊”,这种问题该如何解决?
 
TCP/IP自己会处理这种情况的!
 
-->“可能是客户端,还在接受上次的数据。来不及接受这次的数据,而造成数据的丢失啊”
这种情况在TCP协议下不可能出现。
所谓的丢包起始都是程序员的错, 他忘了一点, Recv返回的数据并不就是对方发送的数据,而可能只是对方发送数据的前半段或者是对方发送的多个包的数据。
 
后退
顶部