procedure TfrmMain.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  Buffer: Array[0..10] of char;
begin
  AThread.Connection.ReadBuffer(Buffer,SizeOf(Buffer));  ManipInfo(Buffer);  AThread.Connection.WriteBuffer(Buffer,SizeOf(Buffer),False);
end;接收报文正常,但发送报文的时候
即运行到AThread.Connection.WriteBuffer(Buffer,SizeOf(Buffer),False);
的进时候报错,
错误信息:Socket error # 10053请问如何解决?

解决方案 »

  1.   

    (10053)Software caused connection abort. An established connection was aborted by the software in your host machine, possibly due to a data transmission timeout or protocol error. 你接收发送的时候用try except 包起来
      

  2.   

    procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
    var  Buffer: Array[0..31] of char;
    begin
       try
          if AThread.Connection.Connected then
             AThread.Connection.WriteBuffer(Buffer,SizeOf(Buffer),False);
          SleepEx(100,true);
       except
       end;
    end;