JAVA多客户端通信

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:12:48
如何使服务端同时与多个客户端通信?
一个ServerSocket可以accept多个Socket么?

一个ServerSocket可以accept多个Socket么?
答案是肯定的!
一个端口只能打开一个ServerSocket,再打开一个就将前一个阻塞
一个ServerSocket可以连接多个Socket

利用线程
实现runable接口
或者直接继承thread类

你可以开一个端口一直监听 一但有连接到达
就把它仍给其他线程处理 或者新开线程处理
---------------------------------------------------------
到网上搜索一个chat 聊天室小java程序

给你贴一点程序
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class WebServer {

public void serverStart(int port) {
try {
ServerSocket serverSocket = new ServerSocket(8060);
while (true) {
Socket socket = serverSocket.accept();
new Processor(socket).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
int port=8060;
if(args.length==1){
port=Integer.parseInt(args[0]);
}
new WebServer().serverStart(port);
}
}
设置一个默认端口,然后去监听。采用socket+多线程技术就可以实现服务端与多个客户端通信