110,538
社区成员
发帖
与我相关
我的任务
分享
private void StartListening()
{
try
{
//指定的IP地址和端口上是否有传入的连接尝试
myListener = new TcpListener(IPAddress.Parse(m_serverIP), int.Parse(m_serverPort));
//监听启动
myListener.Start();
//添加说明信息到ListView
AddListView(string.Format("\r\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").ToString()
+ " 开始在{0}:{1}监听客户端连接", m_serverIP, m_serverPort));
//监听客户端连接的线程
Thread myThread = new Thread(ListenClientConnect);
myThread.Start();
}
catch (Exception ex)
{
intListenFlag = 0;
Utility.WriteToTxt("ServerErrorLog.txt", DateTime.Now.ToString() + ":StartListening " + ex.Message);
//重新启动本程序
ReStartProgram();
}
}
myListener = new TcpListener(IPAddress.Parse(m_serverIP), int.Parse(m_serverPort));
myListener.Start();
myListener = new TcpListener(IPAddress.Parse(m_serverIP), int.Parse(m_serverPort));
myListener.Start();
执行2次 就报错..
所以你自己检查下逻辑吧
/// 重新启动本程序
/// </summary>
private void ReStartProgram()
{
//通过停止监听让myListener.AcceptTcpClient()产生异常退出监听线程
myListener.Stop() ; //添加这句代码后就没问题了。
。。。。。。。。。。
}
/// <summary>
在重启程序时,先关闭监听线程就好了,谢谢大家