socket控件实现的非阻塞编程,对receivetext事件的相关疑问....
本人最近通过clientsocket和serversocket实现了一个c/s结构的非阻塞网络程序,客户端和服务端是通过相关信令来进行通信的,调用的方法是sendtext和receivetext。
比如服务端返回"110+用户信息"时,代表返回当前客户的用户信息,返回"111+在线列表"时,代表返回所有连接上服务端的客户列表。然后客户端通过receivetext方法来读取相应字符串,如是"110...",则把它显示在memo1,如是"111...",则把它显示在memo2。
可是问题出来了,服务端先是通过sendtext把"110..."发送给客户,然后把"111..."发送给客户,因为"110..."字符串比较长,"111..."字符串比较短,导致客户端通过receivetext方法读字符串时读到了"111...110..."字符串,而使memo1中没信息,memo2中出现了"111...110..."信息,我想知道有没什么方法对这两种通信标志进行分离?
请问下receivetext事件的具体流程是什么?就是当它接连收到多个字符长度差异比较大的数据时,是不是先读取出的是短的字符串,长的字符串在后面跟着被读出?