我现在是在程序中加入Sleep(1000);
但是总觉得这样不好,而且等待多少时间不能确定

解决方案 »

  1.   

    你的接受控制方式不对,
    你用ReceiveText吧说有字符串接受了
    用ReceiveBuf可定制长度.
      

  2.   

    写错了:
    你的接受控制方式不对,
    你用ReceiveText把所有字符串接受了
    用ReceiveBuf可定制长度. 
      

  3.   

    定义一个自己的协议报:
    type mypacket{
         MsgLen  :Integer;  //信息长度
         MsgType :Integer;  //信息类型
         MsgBuf  :String;   //信息主体
    }
      

  4.   

    to nclyj():
    定义了一个type怎么发送啊?
      

  5.   

    Winsock是有缓冲区的,虽然你调用两次函数,但可能还是一起发送出去的
    只发字符串的话可以自己定义一个分隔符,接收时将字符串切开。to nclyj():
    老兄!你那是什么语言的定义啊?!分特!
    type
      MyPacket = record
        MsgLen: Integer;
        MsgType: Integer;
        MsgBuf: Sring;
      end;
    发送用TClientSocket.Socket.SendBuf();