这个错误怎么改? socket:通常每个套接字地址(协议/网络地址/端口)只允许使用一次 检查代码,看是否多次执行了StartListening 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计你的ReStartProgram这个流程没有把之前的socket关闭就重新绑定了端口 那就说明 3024 又一次被使用了。 catch捕获异常后,重新启动之前 没有释放端口。 ReStartProgram()这个方法看看有没有关闭socket 检查下是不是下面两种可能:1、ReStartProgram();的时候,程序进程还在,这就导致出现两个运行的exe2、代码里面多次调用了StartListening方法 既然你这个代码里出现了ReStartProgram();别的代码里说不定也出现了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>在重启程序时,先关闭监听线程就好了,谢谢大家 winform中treeview绑定sql数据库中的数据怎么弄? .net里如何实现使字体有拉长的效果 请教Linq ExecuteQuery的类型如何定义? winform的一个问题,高手进来 关于listBox的问题 如何实现远程拷贝文件? 高分求助,如何把Html的一个table 转换成 C# DataTable 怎样强行结束本应用程序? ContextMenu的重画问题 c#初学的问题 字符串末尾是数字,数字位数不知道,如何提取? 英文操作系统,C#开发前台查询ORCLE数据库,查询结果是汉字,显示乱码?
1、ReStartProgram();的时候,程序进程还在,这就导致出现两个运行的exe
2、代码里面多次调用了StartListening方法
别的代码里说不定也出现了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>在重启程序时,先关闭监听线程就好了,谢谢大家