本帖最后由 qcbf1 于 2011-04-27 17:23:56 编辑

解决方案 »

  1.   

    可以参考下
    http://topic.csdn.net/u/20110420/16/a990de86-98db-4172-8fa4-88956e276efe.html
      

  2.   

    不是很懂,我客户端用flash写的,
    现在我就需要能接受和发生到客户端的消息就好了.
    就像上面那个,简单点的..
    谢谢.
      

  3.   

    你用的TCP,在接受连接请求以后,启动线程
    Thread user = new Thread(delegate() { client(socket); });
                    user.Start();
    问题是这个线程里只做了一个接收数据和会发数据,之后就不干活了。所以每个连接进来会产生一个线程去处理这里连接,而当客户端发送一次消息,并得到反馈已经,这个线程也就结束了,虽然TCP的连接是存活的,但是服务器处理该连接的线程已经关闭了。
    static private void client(Socket socket)
            {
                byte[] data=new byte[1024];
                Int32 bytes = socket.Receive(data, data.Length, SocketFlags.None);
                string stream = Encoding.UTF8.GetString(data, 0, bytes);
                Console.WriteLine("{0}:{1}", socket.RemoteEndPoint, stream);
                socket.Send(data);
               
            }
    你的这个方法应该是做个循环,如果接收数据出错,则跳出循环,释放本次连接。