2014-12-04 32 views
1

這是我的代碼:C#UDPClient傳遞變量作爲端口值

UdpClient server = new UdpClient(5001); 

我的問題是:我要傳遞的端口值(5001),從int變量。這可能嗎?

例子:

UDPClient server = new UDPClient(intvariable);

謝謝!

+4

var intvariable = 5001; var server = new UDPClient(intvariable);' – 2014-12-04 09:52:05

+0

你試過了嗎?是的,這是可能的。什麼問題? – 2014-12-04 09:54:30

+0

我想你還需要知道其他的東西,像這樣...編譯和嘗試的速度不是很快? – 2014-12-04 09:54:41

回答

1

UpdClient的構造函數是Int32,因此您可以這樣做。

int variable = value; 
UDPClient server = new UDPClient(variable); 

這裏的定義UpdClient class

0

您可以設置在構造函數的地址和端口,只是看看文檔http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient%28v=vs.110%29.aspx

所以你可以有

int portNumber = 12345; 
string ipAddress = 127.0.0.1 //You can also use a web address instead. 
UDPClient newClient - new UDPClient(ipAddress, portNumber); 

或者,您可以不在構造函數中放置任何內容,並在連接時指定目標。這使您可以先獲得用戶輸入,而不是硬編碼地址和端口。

int portNumber = 12345; 
string ipAddress = 127.0.0.1 //You can also use a web address instead. 
UDPClient newClient - new UDPClient(); 
newClient.Connect(IpTextBox.text(), Convert.ToInt32(portNumberTB.Text()); 

請記住,如果您正在閱讀用戶輸入的地址和端口,那麼您將需要錯誤處理。

0

UdpClient構造不能看出其中的差別new UdpClient(1234)

之間
int port = 1234; new UdpClient(port); 

出於這個原因是不可能有有差別。 1234port是具有相同值的表達。這是唯一重要的。

0

謝謝你的答案。

你們給我的代碼是正確的。我的代碼也是。

我的問題發生在UDPClient對象的聲明中。在Windows窗體應用程序的初始化期間,聲明發生爲 。