1
我正在轉換工作的單人遊戲以在網絡上運行。Java - 使不同的類打印到客戶端,而不是System.out
這是一個簡單的遊戲,在終端上運行..它只是文本在/文本與程序。
它有幾個班,其中大部分打印到System.out或System.err的
,但我想這些信息發送到客戶端,而不是將它們打印服務器系統上的。
如何在一個類的主線程中創建套接字I/O時如何做到這一點?
基本上我如何從其他類訪問這個?
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(45444);
} catch (IOException e) {
System.err.println("Could not listen on port: 45444.");
System.exit(1);
}
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(
clientSocket.getInputStream()));
String inputLine;
String outputLine;
基本上,你應該開始一個新的線程來處理clientSocket。您可以將clientSocket作爲參數傳遞給其他類(構造函數參數或者只是一個setter方法)。 – longhua 2013-03-15 18:17:26