国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 多網卡 Server Listen

2020-01-24 03:48:57
字體:
來源:轉載
供稿:網友
VC和BCB中做一個Server的監聽程序,只需要指定端口,然后監聽(Listen)就行了.在C#找不到這個函數了,慢慢看MSDN,怎么需要指定IP和Port才能監聽,那么多網卡的機器應該怎么寫程序呢?下面的程序可以解釋怎么去做. 
TcpListener 類別會提供簡易的方法,用以在封鎖的同步模式中聆聽 (Listen) 和接受輸入的連接要求。您可以使用 TcpClient 或 Socket 來連接 TcpListener 。使用 IPEndPoint 、本機 IP 地址和連接端口編號,或者就只用連接埠編號來建立 TcpListener 。如果您想要基礎服務供貨商為您指派那些值,請指定 Any 給本機 IP 地址和 0 給本機連接埠編號。如果選擇要這樣做,您可以使用 LocalEndpoint 來識別指派的信息。 
使用 Start 方法開始聆聽輸入的連接要求。 Start 將會讓輸入的連接進入隊列等候,一直到不是呼叫了 Stop 方法,就是已經將 MaxConnections 排入隊列為止。使用 AcceptSocket 或 AcceptTcpClient ,從輸入的連接要求隊列取出連接。這兩個方法將會封鎖。如果想要避免封鎖,您可以先使用 Pending 方法來判斷連接要求是否可在隊列中取得。 
呼叫 Stop 方法關閉 TcpListener 。 
這個建構函式可以讓您指定要聆聽輸入連接嘗試的本機 IP 地址和連接端口編號。使用這個建構函式之前,您必須使用所需的本機 IP 地址和連接端口編號來建立 IPEndPoint 。將這個 IPEndPoint 當作 localEP 參數傳遞給建構函式。 
如果您不在乎要指派哪個本機地址,則可使用 IPAddress.Any 做為地址參數以建立 IPEndPoint ,而基礎服務供貨商將會指派最適當的網絡地址。如果您有多個網絡接口,這可能有助于簡化應用程序。如果您不在乎要使用哪個本機連接埠,則可以指定 0 做為連接埠編號來建立 IPEndPoint 。在這種情況下,服務供貨商將會指派介于 1024 和 5000 之間的可用連接埠編號。如果您使用這個途徑,則可以藉由使用 LocalEndpoint 屬性來探索什么局域網絡地址和連接端口編號已經被指派。 
呼叫 Start 方法以開始聆聽輸入的連接嘗試。 
IPEndPoint 類別包含主機以及應用程序連接到主機服務所需的通訊端口信息。藉由結合主機的 IP 地址和服務的通訊端口編號, IPEndPoint 類別形成連接至服務的連接點 (Connection Point)。 
[C#] 
//Creates an instance of the TcpListener class by providing a local endpoint. 
IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0]; 
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 11000); 
try{ 
TcpListener tcpListener = new TcpListener(ipLocalEndPoint); 

catch ( Exception e ){ 
Console.WriteLine( e.ToString()); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东城区| 双峰县| 游戏| 乐平市| 扎鲁特旗| 凤山市| 治县。| 阳春市| 安达市| 巴马| 连云港市| 呼图壁县| 清水河县| 宣城市| 宜都市| 忻州市| 睢宁县| 左云县| 互助| 南岸区| 瑞安市| 徐闻县| 湖口县| 安义县| 江达县| 峡江县| 叙永县| 枣强县| 岳阳县| 竹北市| 南皮县| 乐平市| 金乡县| 云阳县| 蓝山县| 衡南县| 卓资县| 中阳县| 犍为县| 苏尼特右旗| 嘉兴市|