我在互聯網上找到了下面的代碼,我需要允許我的用戶輸入自己的IP地址和端口號,而不是硬編碼。C#TCP/IP自定義IP和端口
我允許我的用戶從兩個單獨的文本框中輸入IP和端口。
try
{
TcpClient tcpclnt = new TcpClient();
Console.WriteLine("Connecting");
tcpclnt.Connect(syn_ip.Text, 7878);
Console.WriteLine("Connected");
//String str=Console.ReadLine();x
Stream stm = tcpclnt.GetStream();
ASCIIEncoding asen = new ASCIIEncoding();
byte[] ba = asen.GetBytes("data here");
Console.WriteLine("Transmitting.");
stm.Write(ba, 0, ba.Length);
byte[] bb = new byte[100];
int k = stm.Read(bb, 0, 100);
for (int i = 0; i < k; i++)
Console.Write(Convert.ToChar(bb[i]));
tcpclnt.Close();
}
catch (Exception ex)
{
Console.WriteLine("Error:" + ex.ToString());
}
它會讓我發送我的數據使用上述,但我真的需要能夠輸入端口號。
當我嘗試類似下面的內容時,出現以下錯誤:參數:無法從'字符串'轉換爲'int'。
tcpclnt.Connect(syn_ip.Text, syn_port.Text);
感謝提前所有幫助:) 詹姆斯。
我永遠只是建立INT成'while'循環:'而(int.TryParse(輸入,超時值)!){/ *讀取輸入這裏* /}' –
@EBrown:由於這是一個WinForms應用程序,/ *讀取輸入這裏* /有點複雜。他可能運行此代碼以響應UI事件(例如,按鈕單擊)。他需要通知用戶存在問題並從事件處理程序返回,以便UI繼續工作並收集新的輸入。 –