我正在尝试编写一个简单的TCP客户端服务器连接.服务器为每个新客户端连接生成一个线程,每个线程与客户端进行通信.我正在使用DataInputStream和DataOutputStream类,在dis.readUTF()上,服务器线程停止运行.我尝试使用BufferedReader和PrintStream/Printwriter,仍然是同样的问题.请查找System.out.println("现在不在这里"),它前面的那行阻止执行.
/*
TCP client
*/
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class TCPClient {
public TCPClient() {
// TODO Auto-generated constructor stub
}
public static void main (String args[]) throws UnknownHostException, IOException {
Socket socket = new Socket("localhost", 9701);
DataInputStream input = new DataInputStream(socket.getInputStream());
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
//char[] buffer = new char[100];
boolean stop = false;
while (!stop) {
System.out.println("here");
output.writeBytes("hello server");
String response = "-WTF-";
System.out.println("here");
response = input.readUTF();
System.out.println("not here now"); …Run Code Online (Sandbox Code Playgroud)