实现代码:
服务端
import java.
需要文中资料的朋友,可以加我\/信获取:vip1024b 备注Java
io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8888);
System.out.println(“群聊聊天室开启…”);
//定义初始上线人数为0
int i=0;
while (true) {
Socket socket = server.accept();
i++;
System.out.println(“上线通知:”+socket.getInetAddress()+“:”+socket.getPort());
//读(使用多线程实现读的功能)
new Thread(new ServerThread(socket)).start();
System.out.println(“目前上线人数”+i+“人”);
}
}
}
线程类
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class ServerThread implements Runnable{
public Socket socket;
public ServerThread(Socket socket) {
super();
this.socket = socket;
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
System.out.println(readLine);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
总结
我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
自己的知识储备,提升自己的知识深度和广度是很有必要的。
Mybatis源码解析
[外链图片转存中…(img-rHhVq5em-1716310911251)]
[外链图片转存中…(img-gX7pYneR-1716310911252)]