为什么总在客户端阻塞System.err.print(in.readLine());C# 服务器端
==================================================
IPAddress ServerIp=GetServerIP(); 
IPEndPoint iep=new IPEndPoint(ServerIp,8000); 
socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); 
byte[] byteMessage=new byte[100]; 
string iepString=iep.ToString(); 
Console.WriteLine(iepString);
socket.Bind(iep); 
socket.Listen(5); 
while(true) 

try 

Socket newSocket=socket.Accept(); 
while (true){
   newSocket.Receive(byteMessage);   
   string sTime = DateTime.Now.ToShortTimeString ( ) ; 
   string msg=sTime+":"+"Message from:"; 
   msg+=newSocket.RemoteEndPoint.ToString()+Encoding.Default.GetString(byteMessage); 
   Console.WriteLine(msg.ToString());
   Byte[] sendString = Encoding.ASCII.GetBytes("ok".ToCharArray());
   newSocket.Send(sendString);
// newSocket.Shutdown(SocketShutdown.Send);
}
newSocket.Close();

catch(SocketException ex)  {  Console.WriteLine(ex); //String iepString+=ex.ToString();  }  }  // while(byteMessage!=null); 
===============================================
java 客户端
Socket aClient = null;
aClient = new Socket("192.168.5.208", 8221); // InetAddress.getLocalHost()
try {
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
BufferedReader in = new BufferedReader(new InputStreamReader(
aClient.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(aClient
.getOutputStream())); String clientString = null;
String serverString = null;
System.out.println("hello!enter bye to exit.");
out.println("okkkkkkkkkk");
out.flush();
boolean done = false;
while (!done) {
// out.println("okkkkkkkkkk");
// out.flush();
serverString = "zzzzzzz";
    System.err.print(in.readLine());
    Thread.sleep(1000);
if (serverString != null)
System.out.println("  Server:" + serverString);
System.out.println("   client:");
clientString = "     data from client ";
if (clientString != null) {
out.println(clientString);
out.flush();
}
}
in.close();
out.close();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
aClient.close();
}