tcp服务器编程与Delphi中的C#和TCPCLIENT链接在一起。当客户端发送更多请求时,我如何从服务器接收数据?要从服务器接收响应,我使用每种方法,但数据为空。
C#private Dictionary<string, Message> _networkStreams = new Dictionary<string, Message>();
private void SimpleTcpClientOnDataReceived(object sender, Message e)
{
string Data = e.MessageString.Replace("\u0013", "");
Request request = JsonConvert.DeserializeObject<Request>(Data);
Message message = _networkStreams[request.RequestId];
message.Reply(request.Data);
}
Delphi代码
procedure TfrmList.btnsortClick(Sender: TObject); var Request:TRequest; I: Integer; JsonArray: TJSONArray; ArrayElement: TJSonValue ; JSonValue: TJSonValue; item:TListItem; begin Request := TRequest.Create; Request.Link := '/GetAll'; Request.Password := 'Password'; IdTCPClient1.IOHandler.Write(TJson.ObjectToJsonString(Request)); Memo1.Text := Memo1.Lines.Add(IdTCPClient1.IOHandler.ReadLnWait(600)); end;
谢谢。
IdTCPClient1.IOHandler.Write(TJson.ObjectToJsonString(Request));
IdTCPClient1.IOHandler.Write(#10);
Memo1.Text := Memo1.Lines.Add(IdTCPClient1.IOHandler.ReadLnWait(600));