diff --git a/.run/1.3 AbstractExtends.run.xml b/.run/1.3 AbstractExtends.run.xml index 7fa12a8..57362d4 100644 --- a/.run/1.3 AbstractExtends.run.xml +++ b/.run/1.3 AbstractExtends.run.xml @@ -1,7 +1,7 @@ + + org.apache.maven.plugins + maven-jar-plugin + + + + net.lensfrex.Main + + + + diff --git a/exp3-network/src/main/java/net/lensfrex/socket/client/Client.java b/exp3-network/src/main/java/net/lensfrex/socket/client/Client.java index 6511cd2..1b9d4be 100644 --- a/exp3-network/src/main/java/net/lensfrex/socket/client/Client.java +++ b/exp3-network/src/main/java/net/lensfrex/socket/client/Client.java @@ -113,7 +113,7 @@ class UI { this.changeLoginStatus(true); } catch (Exception ex) { ex.printStackTrace(); - messageTextArea.textProperty().set("请求服务器时发生错误:" + ex); + messageTextArea.textProperty().set(messageTextArea.getText() + "请求服务器时发生错误:" + ex); } }); @@ -167,6 +167,7 @@ class UI { MessageData messageData = new MessageData(usernameTextField.getText(), messageTextField.getText()); DataPack responseDataPack = this.sendData(messageData.toBytes(), Constant.OPCODE_SEND_MESSAGE); + messageTextField.textProperty().set(""); this.displayResponse(responseDataPack); } catch (Exception ex) { ex.printStackTrace(); diff --git a/exp3-network/src/main/java/net/lensfrex/socket/server/Server.java b/exp3-network/src/main/java/net/lensfrex/socket/server/Server.java index 3d94f60..49e5f24 100644 --- a/exp3-network/src/main/java/net/lensfrex/socket/server/Server.java +++ b/exp3-network/src/main/java/net/lensfrex/socket/server/Server.java @@ -42,6 +42,8 @@ class ServerThread extends Thread { @Override public void run() { + System.out.println("New thread started."); + try (InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream()) { byte[] clientMagicHeader = new byte[Constant.MAGIC_HEADER.length]; if (inputStream.read(clientMagicHeader) == -1) { @@ -64,15 +66,17 @@ class ServerThread extends Thread { if (Arrays.equals(Constant.OPCODE_LOGIN, opcode)) { this.login(new String(dataPack.getData())); Common.writeMessage(SERVER_ID, Constant.MESSAGE_OK, outputStream); + } else if (Arrays.equals(Constant.OPCODE_LOGOUT, opcode)) { this.logout(new String(dataPack.getData())); Common.writeMessage(SERVER_ID, Constant.MESSAGE_OK, outputStream); + } else if (Arrays.equals(Constant.OPCODE_REQUEST_MESSAGE, opcode)) { this.sendRandomMessage(outputStream); + } else if (Arrays.equals(Constant.OPCODE_SEND_MESSAGE, opcode)) { String receivedMessage = this.receiveMessage(dataPack); String responseMessage = String.format("Receive message '%s'", receivedMessage); - Common.writeMessage(SERVER_ID, responseMessage, outputStream); } } diff --git a/pom.xml b/pom.xml index 6d238f4..caca72c 100644 --- a/pom.xml +++ b/pom.xml @@ -19,5 +19,27 @@ 8 UTF-8 - + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-jar-plugin + + + + net.lensfrex.Main + + + + + + \ No newline at end of file