C coolking Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-01 #1 用onRead事件触发接受数据 接受数据时用socket.recv( .....) 为什么只能收到对方传送过来的第一个数据包?
J Jetideas Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-08 #4 当然了,一次接受一个数据包。 但不用担心会丢失,若对方一次发了10次数据 你就会触发10次OnRead,一次收一个正好。 Socket.recv()是什么??应该用Secoket.ReceiveBuf()的吧?
当然了,一次接受一个数据包。 但不用担心会丢失,若对方一次发了10次数据 你就会触发10次OnRead,一次收一个正好。 Socket.recv()是什么??应该用Secoket.ReceiveBuf()的吧?
B bethouvnlue Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-08 #5 socket 可以工作于阻塞和非阻塞(Blocking ,nonBlocking) Delphi的缺省方式是阻塞方式,这时有丢数据报的情况, 用非阻塞方式时,要使用线程来接受数据,
L Liu JZX Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-08 #6 用非阻塞方式传送数据时,最好在两次传送之间有延迟,否则容易丢失数据
L lwlnic Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-08 #7 用一个线程专门来接受数据,这样也许可以避免丢失 数据的现象。
M mikecool Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-11 #8 是呀,如果另一端输出的速度相当的快,你的接收就会有问题了 你的问题我也碰到过,一次是我用UDP解决的,另一次我是加了 一个线程就可以了 Blocking ,nonBlocking相当的关键,要注意设置呀
是呀,如果另一端输出的速度相当的快,你的接收就会有问题了 你的问题我也碰到过,一次是我用UDP解决的,另一次我是加了 一个线程就可以了 Blocking ,nonBlocking相当的关键,要注意设置呀
T tianhf Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-01 #9 各位: 我需要一个 WinSocket 非阻塞方式传送数据的例子(使用线程),哪位帮帮我? tianhf@cy7.dq.cnpc.com.cn 谢谢!
J Jetideas Unregistered / Unconfirmed GUEST, unregistred user! 1999-12-01 #10 ?? 我记得好象默认的都是非组塞方式的,就是有数据就触发事件。 用组塞方式要用到线程。 发送数据过太数据是会丢失,因为队列满了。 Socket和UDP在数据过大或发送速度过快时都可能出错。