学习网络编程,从网上找了段代码,现在有这样一个问题-----服务端接受一个连接后,就再也接受不了其他连接了。代码如下: //1.启动服务
public Class1()
{
string ip = "***.**.**.**";
int port = 9001;
IPEndPoint iep = new IPEndPoint(IPAddress.Parse(ip), port);
Socket socketsmg = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socketsmg.Bind(iep); socketsmg.Listen(100);
ThreadDeal deal = new ThreadDeal(socketsmg);
Thread thread = new Thread(new ThreadStart(deal.Deal));
thread.IsBackground = true;
thread.Start();
}
//2.sp侦听线程类
public class ThreadDeal
{
Socket server = null;
Socket client = null; public ThreadDeal(Socket s)
{
server = s;
}
public void Deal()
{ while (true)
{
client = server.Accept();
if (client != null)
{
ThreadRece threadRec = new ThreadRece(client);
Thread threadRece = new Thread(new ThreadStart(threadRec.ThreadReceDeal));//在新的线程中接收数据
threadRece.IsBackground = true;
threadRece.Start();
}
}
}
} //3.接收消息和应答消息线程类
public class ThreadRece
{
Socket client;
public ThreadRece(Socket input)
{
client = input;
} public void ThreadReceDeal()
{ IPEndPoint iep = client.RemoteEndPoint as IPEndPoint;
MessageBox.Show("客户端套接字:" + iep.Address.ToString() + ":" + iep.Port.ToString()); //do something here.
}
}各位帮忙看看
public Class1()
{
string ip = "***.**.**.**";
int port = 9001;
IPEndPoint iep = new IPEndPoint(IPAddress.Parse(ip), port);
Socket socketsmg = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socketsmg.Bind(iep); socketsmg.Listen(100);
ThreadDeal deal = new ThreadDeal(socketsmg);
Thread thread = new Thread(new ThreadStart(deal.Deal));
thread.IsBackground = true;
thread.Start();
}
//2.sp侦听线程类
public class ThreadDeal
{
Socket server = null;
Socket client = null; public ThreadDeal(Socket s)
{
server = s;
}
public void Deal()
{ while (true)
{
client = server.Accept();
if (client != null)
{
ThreadRece threadRec = new ThreadRece(client);
Thread threadRece = new Thread(new ThreadStart(threadRec.ThreadReceDeal));//在新的线程中接收数据
threadRece.IsBackground = true;
threadRece.Start();
}
}
}
} //3.接收消息和应答消息线程类
public class ThreadRece
{
Socket client;
public ThreadRece(Socket input)
{
client = input;
} public void ThreadReceDeal()
{ IPEndPoint iep = client.RemoteEndPoint as IPEndPoint;
MessageBox.Show("客户端套接字:" + iep.Address.ToString() + ":" + iep.Port.ToString()); //do something here.
}
}各位帮忙看看
{
socketsmg.Listen(100); while (true)
{
client = server.Accept();
if (client != null)
{
ThreadRece threadRec = new ThreadRece(client);
Thread threadRece = new Thread(new ThreadStart(threadRec.ThreadReceDeal));//在新的线程中接收数据
threadRece.IsBackground = true;
threadRece.Start();
}
}
}