0

这是我将数据写入客户端的服务器端代码。

         try
         {
            IPHostEntry addr = Dns.GetHostEntry(Dns.GetHostName());
            IPAddress localIP = 
             addr.AddressList.Where(x => 
            x.AddressFamily      ==AddressFamily.InterNetwork).FirstOrDefault();
            //Console.WriteLine(localIP);
            listener = new TcpListener(localIP,2055);
            listener.Start();

            while (true)
            {
                s = listener.AcceptSocket();
                stream = new NetworkStream(s);
                strread = new StreamReader(stream);
                strwrite = new StreamWriter(stream);
                //strwrite.AutoFlush = true;
                strwrite.WriteLine("Hello");
                //    string recvmessage = strread.ReadLine();
                //    Console.WriteLine(recvmessage);
                //    if(string.IsNullOrEmpty(recvmessage))
                //    strwrite.WriteLine("Idealist");
            }


        }

仅当自动刷新为 true 时,服务器端代码才会将数据写入客户端。谁能解释一下

4

1 回答 1

1

因为它会自动刷新,当然。如果您查看 Javadoc,您会发现当数据包含换行符时会发生自动刷新。如果你不设置这个,数据不会被刷新,直到你调用flush()自己,或者关闭OutputStreamorWriter你自己。

于 2014-02-13T01:12:26.067 回答