+ -
当前位置:首页 → 问答吧 → 本人刚学indy TCP Server,疑惑一个问题:Server能判断是哪个IP发的数据吗?

本人刚学indy TCP Server,疑惑一个问题:Server能判断是哪个IP发的数据吗?

时间:2011-10-11

来源:互联网

本人刚学indy TCP Server,疑惑一个问题:Server能判断是哪个IP发的数据吗?
比如a,b,c三台client给Server发信息,如果是a,就回复奖励100,是b,就奖励200,c就不回复。
Server能判断是那台client吗?是不是a,b,c给Server发数据必须包含自己的身份信息,让Server解析后判断?

作者: learning8899   发布时间: 2011-10-11

不需要的,TCPServer为每一个客户端连接单独建立了一个线程。

作者: xmfan2000   发布时间: 2011-10-12

TCPSERVER 可以取出每个客户端的IP。

作者: shuilongjian   发布时间: 2011-10-12

PeerIP就是对方的IP地址,绑定IP地址会有问题,因为现在都用DHCP,IP地址有可能会变,最好在协议中定身份信息。

作者: SQLDebug_Fan   发布时间: 2011-10-12

Delphi(Pascal) code
procedure Send(AThread: TIdTCPClient; str: string);
begin
if form1.IdTCPClient1.Connected then begin
AThread.WriteLn(str);
end;
//A机
Send(AThread,'a');



procedure TForm2.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  str: string;
begin
  try
    str := AThread.Connection.Readln();
  except end;
  //
  if str = ‘a’ then begin
  AThread.Connection.Writeln('100');
  end;
if str = ‘b’ then begin
  AThread.Connection.Writeln('200');
  end;
if str = ‘c’ then begin
  //
  end;

end;


作者: nydns   发布时间: 2011-10-12

如果a,bc都是固定IP可以通过peerip如果不是则需要发送身份信息

作者: ljmanage   发布时间: 2011-10-12

热门下载

更多