2010-02-23 63 views
0

我正在做套接字項目。通常服務器在特定的端口偵聽,客戶端必須連接到端口,然後發送和接收將發生。但我們不指定在客戶端的任何端口號,但我在一個情況下使用端口在客戶端,通過此端口只有郵件將傳遞到server.how來做到這一點?通過特定的客戶端口發送郵件

在我的客戶端他們限制端口,所以如果要使用有效的自由端口,我必須將其設置在客戶端程序中,而不是OS選擇它。這是我的問題。

+0

通常,客戶端端口無關緊要,並由操作系統分配。你能澄清「通過這個港口只有消息將被傳遞給客戶」的句子嗎?這聽起來像「客戶端」上的套接字,有效地使其成爲服務器? 爲什麼不使用已經從客戶端打開的連接(假設爲TCP)呢? – 2010-02-23 08:35:24

回答

0

在連接到服務器之前,將客戶端套接字綁定到本地地址(IP和端口號)。準備好處理錯誤當端口不可用時(選擇下一個端口,重試)。

0

我想你正在使用System.Net.Sockets命名空間?

如果是這樣,喜歡的NetworkStream類把插座的構造函數的參數:

http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.aspx

同樣,TcpClient的花費端口和服務器構造函數的參數,端口是相同的在這方面插座:

http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx

最後。你可以控制這個插座的數量在幾個方面:

  • 命令行參數
  • 設置在Application.Config文件
  • 從註冊表中讀取它

有幾個這種類型的東西的方法。

相關問題