當我執行綁定時,我可以在套接字上分配的端口的最大值是多少?套接字 - IPEndpoint端口(最大值)
實施例:
int port = 0; //How far can i go?
Socket m_mainSocket;
m_mainSocket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), port))
當我執行綁定時,我可以在套接字上分配的端口的最大值是多少?套接字 - IPEndpoint端口(最大值)
實施例:
int port = 0; //How far can i go?
Socket m_mainSocket;
m_mainSocket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), port))
IP端口號是16位無符號整數。因此65,535是您可以分配的最大端口號。
IPEndPoint
constructor的文檔聲明,如果端口大於MaxPort
,將會引發ArgumentOutOfRangeException
。 MaxPort
的文檔聲明'MaxPort值設置爲0x0000FFFF
'(65,535)。
的IPEndpoint類有一個MaxPort
和MinPort
字段 - 根據documentation:
的MaxPort值被設置爲 0x0000FFFF。
以編程方式訪問的最大允許值,則可以使用 IPEndPoint.MaxPort 和 IPEndPoint.MinPort 的最低值。這些對於在實際嘗試在連接中使用它之前檢查用戶輸入的端口是否在適當的範圍內很有用。
+1解釋爲什麼.. – 2010-08-05 09:16:41
請注意,許多端口 - 特別是在較高數字範圍內 - 保留用作[短暫端口](http://en.wikipedia.org/wiki/Ephemeral_port)和*不應該被綁定。 – 2010-08-05 10:06:49