程序运行过程中死机的解决方法?
我编写了一个数据交换席位(类似于聊天室的服务器)程序,与1-2个用户进行数据交换时没有问题,但是超过2个用户同时进行数据交换,程序必定马上死机,我想请问应该怎么解决?
我用的是TCP协议,网络通信使用的是Socket通信,具体程如下:
private void start()
{
try
{
CheckForIllegalCrossThreadCalls = false;
if (ipstring != null)
{
endpoint = new IPEndPoint(IPAddress.Parse(ip), 80);
listener = new TcpListener(endpoint);
listener.Start();
{
thread = new Thread(new ThreadStart(this.startsocketlisten));
thread.Start();
}
}
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString());
}
}
private void startsocketlisten()
{
bool acceptenum = true;
while (acceptenum==true)
{
try
{
if (listener.Pending())
{
Socket socket = listener.AcceptSocket();
Thread thread1 = new Thread(new ThreadStart(xianshi));
thread1.Start();
}
}
catch { }
}
}
public void xianshi()
{//数据解析}