服务器:固定ip 固定端口号比如2000
客户端:任意一台PC 可能在路由之下。
客户端先给服务器发消息
CUDP.Send(服务器IP,2000,消息内容);服务器可以在事件UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
里面获得客户端ip地址和端口号
ABinding.PeerIP 和 ABinding.PeerPort
这时我需要服务器给客户端回个消息,消息应该就是发往刚获得的
ABinding.PeerIP 和 ABinding.PeerPort
而客户端在给服务器发消息时 TIdUdpClient没有本机发送端口号属性设置。
而在客户端我需要用另一个TIdUdpserver控件来接收这个消息。
那么这个控件的监听端口号该如何设置呢?
谢谢帮忙给出代码
服务器是公网服务器ip和端口号固定,客户端给服务器发送消息 服务器可以收到,
但服务器如何给客户端发消息呢?
服务器可以通过客户端消息获得ip和端口号
可这个端口号可能是通过客户端那边路由器出来的端口号 应和客户机端口号不一样。
况且客户端发送时无法指定从何端口发送消息。
我需要在客户端用另一控件监听消息,那这个端口该如何设置呢?谢谢各位
客户端:任意一台PC 可能在路由之下。
客户端先给服务器发消息
CUDP.Send(服务器IP,2000,消息内容);服务器可以在事件UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
里面获得客户端ip地址和端口号
ABinding.PeerIP 和 ABinding.PeerPort
这时我需要服务器给客户端回个消息,消息应该就是发往刚获得的
ABinding.PeerIP 和 ABinding.PeerPort
而客户端在给服务器发消息时 TIdUdpClient没有本机发送端口号属性设置。
而在客户端我需要用另一个TIdUdpserver控件来接收这个消息。
那么这个控件的监听端口号该如何设置呢?
谢谢帮忙给出代码
服务器是公网服务器ip和端口号固定,客户端给服务器发送消息 服务器可以收到,
但服务器如何给客户端发消息呢?
服务器可以通过客户端消息获得ip和端口号
可这个端口号可能是通过客户端那边路由器出来的端口号 应和客户机端口号不一样。
况且客户端发送时无法指定从何端口发送消息。
我需要在客户端用另一控件监听消息,那这个端口该如何设置呢?谢谢各位
就是拿TIdUdpserver发消息。
收发消息都用TIdUdpserver 这个东西可以指定本地端口号
UDPCLIENT发给UDPSERVER,UDPSERVER将UDPCLIENT的端口发回给它,然后UDPCLIENT把端口告诉客户端的UDPSERVER,不知道能不能行
不知道会不会被路由器给阻止了,这算不算是不请自来的连接请求