解决方案 »

  1.   

    补存:
    ClientSocket1.Socket.SendBuf(Buff2,7);中应该是ClientSocket1.Socket.SendBuf(Buff,7);
    短线下是服务端代码
      

  2.   

     iReceived := Socket.ReceiveBuf(BInfo, ILen);
      

  3.   

    虽然不知道 TCustomWinSocket 是哪个控件,但看上去,楼主好像混用了两种接收模式:
    1 SCServerClientRead 事件被触发时,感觉是已经收到数据了
    2 但楼主又用了  Socket.ReceiveBuf 再去收,不知道是不是连接断开了,为何没有卡住,连接是异步的么
      

  4.   

    是异步的,收发数据没有问题,如果客户端ClientSocket1.Socket.SendBuf(Buff,7);换成ClientSocket1.Socket.SendText(‘文本’);发送接收都正常了,现在我觉得SendBuf出问题了,但我又不知到哪儿有问题
      

  5.   

    var
       Buff:Array of byte;  //由于Buff是动态数组,,,如果是Buff : array [0..6] of Byte;这样的定义你的发送就是正确的
     begin
      ClientSocket1.Socket.SendBuf(Pointer(Buff2)^,7); //这种只针对动态的
      //或者
      //ClientSocket1.Socket.SendBuf(Buff2[0],7);//动态的或者静态的都可以
      end;
     
      

  6.   

    感谢各位,最后使用Socket.SendStream解决问题的