BIO+多线程实现多用户请求处理
Server端代码:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.util.Scanner;
public class BIOCllicent{
public static void main(String[] args) {
//启动socket实例
Socket socket = new Socket();
try {
//连接服务端
socket.connect(new InetSocketAddress("169.254.118.224",999));
System.out.println("客户端连接服务端成功");
//进行读写操作
OutputStream outputStream = socket.getOutputStream();
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter("\n");
//读数据
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (scanner.hasNext()){
String msg=scanner.nextLine();
outputStream.write((msg+"\n").getBytes());
String line=reader.readLine();
System.out.println(line);
if("exit".equals(msg))break;
}
//关闭资源
reader.close();
outputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}