摘要: 参考: https://www.zhihu.com/question/29005375 https://blog.csdn.net/anxpp/article/details/51512200 https://www.cnblogs.com/Evsward/p/nio.html NIO主要基于Lin 阅读全文
posted @ 2023-02-28 22:29 Mars.wang 阅读(24) 评论(0) 推荐(0)
摘要: 之前的服务端只管发数据,并没有对客户端的请求作出响应,这次我们对服务端进行改造, 接受客户端的请求,在请求的基础上加上hello,然后返回 import java.io.*; import java.net.ServerSocket; import java.net.Socket; //5 10 1 阅读全文
posted @ 2023-02-28 17:30 Mars.wang 阅读(24) 评论(0) 推荐(0)
摘要: 上篇文章我们借助线程实现了服务端可以服务多个客户端,但是每次请求进来都创建新线程也是一种很大的资源消耗,线程上下文切换都会影响性能。 本次我们继续对服务端进行改造,引入一个线程池,限制服务端的资源总量,并对服务端使用线程进行复用。 线程池: public class SocketThreadPool 阅读全文
posted @ 2023-02-28 10:21 Mars.wang 阅读(124) 评论(0) 推荐(0)
摘要: 上次的服务端一次只能接受一个客户端的连接,性能实在堪忧,我们对服务端进行了改造, 每接到一个客户端的请求,就新建一个线程,让新线程跟客户端进行交互,主线程可以继续等待其他客户端的连接。 服务端: public class Server { public static void main(String 阅读全文
posted @ 2023-02-28 10:02 Mars.wang 阅读(50) 评论(0) 推荐(0)
摘要: 基于java.net包,实现一个简单的服务端和客户端,客户端只管发,服务端只管收 缺点:服务端只能处理一个客户端的请求,因为服务端是单线程的。一次只能与一个客户端进行消息通信 服务端: public class Server { public static void main(String[] ar 阅读全文
posted @ 2023-02-28 09:47 Mars.wang 阅读(56) 评论(0) 推荐(0)