我在互联网上找到了下面的代码,我需要允许我的用户输入他们自己的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());
}它将允许我使用上面的内容发送数据,但我确实需要能够输入端口号。
当我尝试下面这样的代码时,我得到了以下错误:参数:无法从'string‘转换为'int’。
tcpclnt.Connect(syn_ip.Text, syn_port.Text);提前感谢所有的帮助:) James。
发布于 2015-07-22 01:49:55
既然您正在尝试转换用户输入,考虑到它不可能总是一个整数,我建议您使用int.TryParse。
int port;
if (int.TryParse(syn_port.Text, port))
{
tcpclnt.Connect(syn_ip.Text, port);
}https://stackoverflow.com/questions/31545962
复制相似问题