A
attacker2000
Unregistered / Unconfirmed
GUEST, unregistred user!
我一分都没有了,真的没办法呀,以后再补上行不行?
用serversocket发两次文本:
serversocket.socket.connection[0].sendtext('first');
serversocket.socket.connection[0].sendtext('second');
clientsocket只触发一次onread事件,得到的文本为:'firstsecond';
如果想触发两次onread事件,分别得到'first',和second应该怎么做?
以下从以前的帖子摘录:
在客户端程序中进行如下调用时
clientsocket1.Socket.SendText(‘gets‘);
clientsocket1.Socket.SendText(‘gets‘);
clientsocket1.Socket.SendText(‘gets‘);
服务端接收时会出现getsgets之类的现象,这可能是因为当缓冲区内的数据还未发送完时,又将新的文本放入缓冲区,计算机把它也当成同一批数据进行处理的缘故。为避免这个现象的发生,在程序内可采用一来一回“抛球”式的做法:
客户端 服务端
clientsocket1.Socket.SendText(‘data1‘) socket.ReceiveText;
socket.sendtext(‘ok‘);
socket.receivetext;
clientsocket1.Socket.SendText(‘ data2‘)
socket.ReceiveText;
socket.sendtext(‘end‘);
socket.receivetext;
但用上面那种方法还是不行。
请问如何使clientsocket触发两次onread事件???
用serversocket发两次文本:
serversocket.socket.connection[0].sendtext('first');
serversocket.socket.connection[0].sendtext('second');
clientsocket只触发一次onread事件,得到的文本为:'firstsecond';
如果想触发两次onread事件,分别得到'first',和second应该怎么做?
以下从以前的帖子摘录:
在客户端程序中进行如下调用时
clientsocket1.Socket.SendText(‘gets‘);
clientsocket1.Socket.SendText(‘gets‘);
clientsocket1.Socket.SendText(‘gets‘);
服务端接收时会出现getsgets之类的现象,这可能是因为当缓冲区内的数据还未发送完时,又将新的文本放入缓冲区,计算机把它也当成同一批数据进行处理的缘故。为避免这个现象的发生,在程序内可采用一来一回“抛球”式的做法:
客户端 服务端
clientsocket1.Socket.SendText(‘data1‘) socket.ReceiveText;
socket.sendtext(‘ok‘);
socket.receivetext;
clientsocket1.Socket.SendText(‘ data2‘)
socket.ReceiveText;
socket.sendtext(‘end‘);
socket.receivetext;
但用上面那种方法还是不行。
请问如何使clientsocket触发两次onread事件???