【发布时间】:2015-08-27 02:19:04
【问题描述】:
我使用 2 Forms 开发了一个应用程序:Form1 是 Form2 的父级。我通过以下代码从Form1 重定向到Form2:
Form2 settingsForm = new Form2(this);
settingsForm.Show();
在Form1,我开始了TcpListener:
static IPAddress ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[1];
TcpListener smoClient = new TcpListener(ipAddress ,55962);
try
{
smoClient.Start();
MessageBox.Show("Connected");
}
catch (SocketException se)
{
Console.WriteLine(se.ToString());
}
但是当我打开Form2时,SocketException被抛出:
System.Net.Sockets.SocketException (0x80004005):只有一种用法 每个套接字地址(协议/网络地址/端口)通常是 在 System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) 在 System.Net.Sockets.Socket.Bind(EndPoint localEP) 在 System.Net.Sockets.TcpListener.Start(Int32 backlog) 在 System.Net.Sockets.TcpListener.Start()
我应该如何防止此异常或检查TcpListener 是否已启动?感谢大家的帮助。
【问题讨论】: