《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
private static CopyOnWriteArrayList all =new CopyOnWriteArrayList();
public static void main(String[] args) throws IOException {
System.out.println(“—server—”);
//1.使用ServerSocket创建一个服务端 并指定一个端口号
ServerSocket server = new ServerSocket(7777);
//阻塞式等待链接
boolean aa = true;
while( aa ) {
Socket client = server.accept();
System.out.println(“一个客户端链接成功”);
pipe p = new pipe(client);
all.add§;
new Thread§.start();
}
}
static class pipe implements Runnable{
private Socket client;
private DataInputStream dis;
private DataOutputStream dos;
private boolean runing = true;
private String name;
public pipe( Socket client ) {
this.client = client;
try {
dis = new DataInputStream(client.getInputStream());
dos = new DataOutputStream(client.getOutputStream());
this.name = receive();
this.send(“欢迎你的到来”);
sendothers(this.name+“来到了聊天室”,true);//系统消息
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
release();
}
}
//收到
private String receive() {
String msg = “”;
try {
if (msg != null )
msg = dis.readUTF();
} catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
release();
}
return msg;