解决方案 »

  1.   

    StopListener函数的第一句先加个 a = false;  试试
    怎么看都是死循环
      

  2.   


                if (t.IsAlive)
                {
                    t.Abort();
                }
                networkstream.Close();
                tcpclient.Close();
                tcplistener.Stop();
    这是闹哪样
    你先把线程强制关了,才想起来要关闭连接??
    原则是:哪里open,哪里close
    你应该用变量通知线程,让线程自己退出,线程退出前,释放所有占用的资源
    而不是别人把它枪毙了,再给他擦屁股
      

  3.   

    还有,你发送的是字符串,接收的是字节数组,而且字符串是unico编码,字符数组转字符串用GB2312编码你不敢字符串先按GB2312转字符数组,直接发数组?
      

  4.   

    可以网上搜索:异步socket接收
    你这样同步死循环,线程自己想停都停不下来,问题太多了.
      

  5.   

    google site:download.csdn.net C# p2p 聊天
    能找到很多例子,先看看人家怎么写的。