上文谈到了最基本的服务器客户端网络编程。
为了使服务器能与多个客户端进行交流,我们在网络编程中加入了多线程。
public class SocketDemo {
public static void main(String[] args) throws IOException {
//搭建服务器
ServerSocket server = new ServerSocket(55564);
System.out.println("服务器搭建完成");
while(true) {
//等待客户端连接
Socket socket = server.accept();
new Thread() {
@Override
public void run() {
try {
OutputStream os = socket.getOutputStream();
InputStream is = socket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
System.out.println("客户端已连接");
}
}
}
还是像之前一样利用accept()等待客户端连接,不同的是我们加了一个子线程来处理此次连接的客户端的输入输出流。
客户端还是像之前一样:
public class ClientDemo {
public static void main(String[] args) throws UnknownHostException, IOException {
Socket socket = new Socket("localhost",55564);
}
}
这样我们就可以进行多个客户端连接通信了