我在互联网上找到了下面的代码,我需要允许我的用户输入自己的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继续工作并收集新的输入。 –