【发布时间】:2014-04-20 23:10:32
【问题描述】:
我在 java 中的这个服务器客户端程序上遇到了麻烦。我的程序进入
System.out.println("Check1");
String name = in.nextLine();
在BoardServer 中,然后它就坐在那里,没有任何东西发送给客户端。
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Scanner;
public class BoardServer {
private static Scanner in;
private static PrintWriter out;
private static int num = 1;
public static void main(String[] args) throws IOException {
final int SBAP_PORT = 8888;
ServerSocket server = new ServerSocket(SBAP_PORT);
System.out.println("Waiting for players to connect...");
while (true) {
Socket s = server.accept();
in = new Scanner(s.getInputStream());
out = new PrintWriter(s.getOutputStream());
System.out.println("Check1");
String name = in.nextLine();
System.out.println("Check2");
String message = "Hello " + name + " you are player number " + num;
num++;
System.out.println("Check3");
out.print(message);
out.flush();
System.out.println("player connected.");
Player client = new Player(s);
Thread t = new Thread(client);
t.start();
}
}
}
【问题讨论】:
-
我认为你应该为 i/o 流使用 , BufferedReader / Writer
-
那么把printwriter和Scanner换成BufferReader和Writer就可以解决了吗?
标签: java client-server client