网络编程基础-BIO-练习(对代码进行优化)

master
bingor 2 years ago
parent 718b7f2d91
commit 9f9adf8ab2

@ -1,7 +1,5 @@
package com.msb.io.bio;
import jdk.internal.util.xml.impl.Input;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@ -24,7 +22,7 @@ public class BioClient {
try {
socket = new Socket("127.0.0.1", 8888);
outputStream = socket.getOutputStream();
outputStream.write("服务端,你好,我是小".getBytes());
outputStream.write("服务端,你好,我是小".getBytes());
byte [] bytes = new byte[1024];
inputStream = socket.getInputStream();

@ -26,19 +26,9 @@ public class BioServer {
while (true) {
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
String msg = new String(bytes, 0, len);
System.out.println("服务端接收到客户端的信息:" + msg);
OutputStream outputStream = socket.getOutputStream();
outputStream.write("客户端,你好!".getBytes());
outputStream.flush();
outputStream.close();
inputStream.close();
socket.close();
new Thread(() -> {
handle(socket);
}).start();
}
} catch (IOException e) {
@ -57,4 +47,44 @@ public class BioServer {
}
public static void handle(Socket socket) {
InputStream inputStream = null;
OutputStream outputStream = null;
try {
inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
int len = inputStream.read(bytes);
String msg = new String(bytes, 0, len);
System.out.println("服务端接收到客户端的信息:" + msg);
outputStream = socket.getOutputStream();
outputStream.write("客户端,你好!".getBytes());
outputStream.flush();
} catch (IOException exception) {
exception.printStackTrace();
} finally {
try {
if(outputStream != null) {
outputStream.close();
}
if(inputStream != null) {
inputStream.close();
}
if(socket != null) {
socket.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}

Loading…
Cancel
Save