Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET套接字TCP侦听器强制退出问题_C#_Visual Studio 2010_Sockets - Fatal编程技术网

C# .NET套接字TCP侦听器强制退出问题

C# .NET套接字TCP侦听器强制退出问题,c#,visual-studio-2010,sockets,C#,Visual Studio 2010,Sockets,因此,我尝试在VisualStudio中使用.net套接字设置TCP服务器/客户端。到目前为止,它工作正常,直到客户端关闭应用程序 错误似乎就在这里。但我不知道一旦连接被强制关闭,如何停止while循环的运行 while(true) { string theString = streamReader.ReadLine(); Console.WriteLine("Message recieved by client:" + theString); } //服务器代码// static TcpLi

因此,我尝试在VisualStudio中使用.net套接字设置TCP服务器/客户端。到目前为止,它工作正常,直到客户端关闭应用程序

错误似乎就在这里。但我不知道一旦连接被强制关闭,如何停止while循环的运行

while(true)
{
string theString = streamReader.ReadLine();
Console.WriteLine("Message recieved by client:" + theString);
}
//服务器代码//

static TcpListener tcpListener = new TcpListener(25000);

    static void Listeners()
    {

        Socket socketForClient = tcpListener.AcceptSocket();

        NetworkStream networkStream;

        System.IO.StreamWriter streamWriter;
        System.IO.StreamReader streamReader;

        if (socketForClient.Connected)
        {
            Console.WriteLine("Client:" + socketForClient.RemoteEndPoint + " now connected to server.");
            networkStream = new NetworkStream(socketForClient);

            streamWriter = new StreamWriter(networkStream);
            streamReader = new StreamReader(networkStream);

            while(true)
            {
                string theString = streamReader.ReadLine();
                Console.WriteLine("Message recieved by client:" + theString);
            }
        }
    }
你试过了吗

private bool IsConnected(Socket socketForClient)
{
         get {return !(Socket.Poll(1, SelectMode.SelectRead) 
                                  && socketForClient.Available ==0)}
}


我该把行李放在哪里。私有bool已连接(Socket-socketForClient){get{return!(Socket.Poll(1,SelectMode.SelectRead)&&socketForClient.Available==0)}在
Listeners()之外。
函数未工作,表示预期有两个“;”;
while(IsConnected())
{
    string theString = streamReader.ReadLine();
    Console.WriteLine("Message recieved by client:" + theString);
    // Do Stuff
}