BIO+多線程實現TCP簡單示例
服務端
package test001;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8848);
byte[] b = new byte[1024];
while (true) {
System.out.println("wait conn");
Socket accept = serverSocket.accept();
new Thread(() -> {
System.out.println("conn succ, wait data");
int read = 0;
try {
read = accept.getInputStream().read(b);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("data rece");
System.out.println(new String(b, 0, read));
}).start();
}
}
}
客戶端
package test001;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("192.168.4.24",8848);
Scanner sc = new Scanner(System.in);
String i = sc.next();
socket.getOutputStream().write(i.getBytes());
socket.close();
}
}