c#网络编程报错"通常每个套接字地址(协议/网络地址/端口)史允许使用一次"
说细描述:程序在最开始启动监听都可以正常运行,但是当点击停止监听,再次启动监听时就报错 “通常每个套接字地址(协议/网络地址/端口)史允许使用一次",主要代码如下:
Thread myThread;
private void buttonStart_Click(object sender, EventArgs e)
{
//由于服务器要为多个客户服务,所以需要创建一个线程监听客户端连接请求
try
{
ThreadStart ts = new ThreadStart(AcceptConnect);
myThread = new Thread(ts);
myThread.Start();
buttonStart.Enabled = false;
buttonStop.Enabled = true;
}
catch(Exception Ex)
{
listBoxStatus.Invoke(setListBoxCallBack, Ex.Message);
}
}
private void AcceptConnect()
{
//获取本机所有IP地址
try
{
IPAddress[] ip = Dns.GetHostAddresses("192.168.0.35");
listener = new TcpListener(ip[0], 51888);
listener.Start(); //开始侦听传入的连接请求
while (isExit == false)
{
try
{
//将事件的状态设为非终止
allDone.Reset();