报错是base {System.SystemException} = {"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host."}下面是代码
  public void BeginServer()
        {
            serverThread = new Thread(new ThreadStart(TranServer));
            serverThread.Start();
        }            IPEndPoint ipep = new IPEndPoint(address, bankPortst);
            serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            serverSocket.Bind(ipep);
            serverSocket.Listen(10);
            while (true)
            {
                try
                {
                    //在套接字上接收接入的连接
                    clientSocket = serverSocket.Accept();
                    clientThread = new Thread(new ThreadStart(ReceiveData));
                    clientThread.Start();
                    Thread.Sleep(10); 
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
 private void ReceiveData()
        {
            Thread.Sleep(10);
            bool keepalive = true;
            Socket s = clientSocket;            //根据收听到的客户端套接字向客户端发送信息
            IPEndPoint clientep = (IPEndPoint)s.RemoteEndPoint;            while (keepalive)
            {
                NetworkStream ns = new NetworkStream(s);
                    StreamWriter sw = new StreamWriter(ns);
                    StreamReader rd = new StreamReader(ns);
}
帮忙啊!

解决方案 »

  1.   

    你好刚才那个问题解决了现在又出了新的问题
    private void ReceiveData()
            {
                Thread.Sleep(10);
                bool keepalive = true;
                Socket s = clientSocket;
                Byte[] buffer = new Byte[1024];            //根据收听到的客户端套接字向客户端发送信息
                IPEndPoint clientep = (IPEndPoint)s.RemoteEndPoint;            while (keepalive)
                {
                    //在套接字上接收客户端发送的信息
                    int bufLen = 0;
                    try
                    {
                        NetworkStream ns = new NetworkStream(s);
                        StreamWriter sw = new StreamWriter(ns);
                        StreamReader rd = new StreamReader(ns);
                        char[] arrChar=new char[10];
                        rd.Read(arrChar,0,9);
    读到Read这一行的时候就不走了为什么?