TCP/IP 遇到一个变态的需求--要求指定客户端的发送端口与服务端的服务端口一致(100分)

  • 主题发起人 主题发起人 lvqher
  • 开始时间 开始时间
L

lvqher

Unregistered / Unconfirmed
GUEST, unregistred user!

客户的局域网里有网管软件,它会通过采样的方法去检测数据包,它要求客户机从指定的端口中发出数据,
对于TCPIP客户端来说基本上不需要通过bind()的方法去指定自己的发送端口,但是客户却要求这样!在DEPHI
里,TCustomWinSocket在构造函数里面已经把FAddr.sin_port := 0 了,在为0的情况下,只能是系统自动选择
自己的发送端口,这个该如何解决呢?难道要修改DEPHI的 这个构造函数不成了?还望专家指教!
constructor TCustomWinSocket.Create(ASocket: TSocket);
begin
inherited Create;
Startup;
FSocketLock := TCriticalSection.Create;
FASyncStyles := [asRead, asWrite, asConnect, asClose];
FSocket := ASocket;
FAddr.sin_family := PF_INET;
FAddr.sin_addr.s_addr := INADDR_ANY;
FAddr.sin_port := 0;
FConnected := FSocket <> INVALID_SOCKET;
end;
 
后退
顶部