首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

在 C# 中實現 Socket 連接埠重用

     編輯:關於C語言

什麼是連接埠重用?

Winsock 允許伺服器對同一連接埠進行多重繫結,封包會遞交給指定最明確的那個 Socket,無權限之分,此即連接埠重用。

實作方式

使用 SetSocketOption 設定 SocketOptionName.ReuseAddress 為 true。

socket2.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

完整範例

// 第一個 Socket
Socket socket1;
IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 20000);
socket1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket1.Bind(localEP);

// 第二個 Socket,啟用重用
Socket socket2;
socket2 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket2.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
socket2.Bind(localEP); // 同一連接埠綁定成功

範例原始碼可至 此處下載。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved