Tcp 端口连接显示不兼容的值
本文关键字:不兼容 显示 连接 Tcp | 更新日期: 2023-09-27 17:55:48
请考虑以下代码:
void Connect(IPAddress address, int port)
{
TcpListener listener = new TcpListener(address, port);
listener.Start();
TcpClient client= new TcpClient();
//The following line would actually block the caller, but ignore this fact ATM.
var conn= listener.AcceptTcpClient();
client.Connect(address,port);
var address = ((IPEndPoint)conn.Client.RemoteEndPoint).Address;
var port = ((IPEndPoint)conn.Client.RemoteEndPoint).Port;
}
客户端指定的端口号与我能够从连接中获得的端口号不对应。此属性的文档非常模糊,我在这里或 MSDN 上找不到任何类似的问题。有没有人知道为什么会发生这种情况?
帮助将不胜感激。埃亚尔。
TCP
连接对双方都有一个独立的(IP, port)
对。您正在连接到(address, port)
但您正在从其他东西连接。操作系统会自动选择从 IP 和端口作为适当的值。