从服务器C#接收数据到客户端delphi
Receive data from the server C# to client delphi
我想 link tcp 服务器编程 C# 和 TCPCLIENT 在 Delphi。
我如何在客户端发送请求时从服务器接收数据以获取更多解释我想从服务器接收响应我使用了每种方法但数据为空。
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;
谢谢。
您需要在消息末尾发送 (LF) 或 (#10)
IdTCPClient1.IOHandler.Write(TJson.ObjectToJsonString(Request));
IdTCPClient1.IOHandler.Write(#10);
Memo1.Text := Memo1.Lines.Add(IdTCPClient1.IOHandler.ReadLnWait(600));
我想 link tcp 服务器编程 C# 和 TCPCLIENT 在 Delphi。 我如何在客户端发送请求时从服务器接收数据以获取更多解释我想从服务器接收响应我使用了每种方法但数据为空。
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;
谢谢。
您需要在消息末尾发送 (LF) 或 (#10)
IdTCPClient1.IOHandler.Write(TJson.ObjectToJsonString(Request));
IdTCPClient1.IOHandler.Write(#10);
Memo1.Text := Memo1.Lines.Add(IdTCPClient1.IOHandler.ReadLnWait(600));