TServerSocket/TClientSocket之间的联络肯定是稳定的,信息丢失这种处理不需要你来考虑。查查你的程序,是不是别的原因造成你“收不到”信息。

解决方案 »

  1.   

    在serverclientread事件中跟踪用户就行了,不过先得用serverclientconnect记录连接客户端信息(IP地址,主机名称,socket对象的句柄号)
      

  2.   

    判断sendtext的返回值!
    调用sendtext将由两个部分组成
    1.字符串发往系统缓冲区
    2.然后由系统控制从缓冲区中将字符串发往目标主机,
    过程2是由系统控制的无法人为控制,如果丢字符串将出现在过程1,因为当在一个循环中频繁地向缓冲区中发字符串时有可能使缓冲区已满,而此时仍然调用sendtext发送的数据又可能丢失,解决办法是查看sendtext的返回值.
      if socket.sendtext(str)<>-1 then 缓冲区未满
        ....
       
      

  3.   

    用serversocket向clientsocket同样发一个回执即可,二者通用的方法可以用
    sendbuf或sendtext