IdTCPServer怎样获得Client的IP和端口?(50分)

  • 主题发起人 主题发起人 x-dsl
  • 开始时间 开始时间
X

x-dsl

Unregistered / Unconfirmed
GUEST, unregistred user!
用TCPServer控件可以获得客户端的IP和端口的,可是IdTCPServer就只找到怎样获得CLIENT的机器名~苦闷啊~!!!还有,我们BOSS说,只要CLIENT连接到SERVER,SERVER只管往那个连接发消息,CLIENT就可以收到,不用理会CLIENT用的是什么端口,是这样的吗???还有啊,什么叫非堵塞和堵塞啊?谢谢大家啦!!!
 
1:TCPServer控件可以获得客户端的IP和端口的是使用它的TIdPeerThread属性
2:不需理会CLIENT用的是什么端口
3:简单点说:所谓堵塞就是等事件执行完才返回,非堵塞就是不需等待,idTCPServer使用的是堵塞方式。
 
非常感谢dfw001的指导!
不知道能不能提供简单代码?而且,获得的端口是不是CLIENT发送数据的端口?
 
还有,能不能把IdTCPServer做成非阻塞模式?
 
Indy is 阻塞模式
 
听说在非阻塞方式工作下性能会比阻塞模式高,如果我非要在非阻塞模式下工作,应该怎样做呢?用什么控件呢?
 
IdTCPServer的OnExecute中
(Delphi6的Indy)
AThread.Connection.Binding.IP
(Dephi7之后的Indy)
AThread.Connection.Socket.Binding.IP
获取IP!如果端口没有正确,那IdTCPClient就连不上,所以端口就是DefaultPort
 
多人接受答案了。
 
后退
顶部