net
文章平均质量分 95
网络协议,不做过多说明
Volunteer Technology
对java技术以及python比较熟悉,在精进的道路上,毕业至今!
展开
-
网络协议(二):NIO与HTTP与http服务器
NIONIO通道客户端【应用】 客户端实现步骤 打开通道 指定IP和端口号 写出数据 释放资源 示例代码 public class NIOClient { public static void main(String[] args) throws IOException { //1.打开通道 SocketChannel socketChannel = SocketChannel.原创 2021-06-27 20:20:42 · 802 阅读 · 1 评论 -
网络编程(一):TCP与UDP与NIO
目录网络编程入门网络编程概述【理解】网络编程三要素【理解】IP地址【理解】InetAddress【应用】端口和协议【理解】UDP通信程序UDP发送数据【应用】UDP接收数据【应用】UDP通信程序练习【应用】UDP三种通讯方式【理解】UDP组播实现【理解】UDP广播实现【理解】TCP通信程序TCP发送数据【应用】TCP接收数据【应用】TCP程序练习【应用】TCP程序文件上传练习【应用】TCP程序服务器优化【应用】NIO...原创 2021-06-27 20:22:43 · 480 阅读 · 2 评论 -
解决粘包/半包问题
什么是TCP粘包半包?改造程序,客户端发送100遍消息假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况。(1)服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包;(2)服务端一次接收到了两个数据包,D1和D2粘合在一起,被称为TCP粘包;(3)服务端分两次读取到了两个数据包,第一次读取到了完整的D1包和D2包的部分内容,第二次读取到了D2包的剩余内容,这被称为TCP拆包;(4)服务端分两次读取到.原创 2020-12-23 22:17:34 · 454 阅读 · 0 评论 -
选择合适的内置通信传输模式
NIOio.netty.channel.socket.nio使用java.nio.channels包作为基础——基于选择器的方式Epollio.netty.channel.epoll由JNI驱动的epoll()和非阻塞IO。这个传输支持只有在Linux上可用的多种特性,如SO_REUSEPORT,比NIO传输更快,而且是完全非阻塞的。将NioEventLoopGroup替换为EpollEventLoopGroup,并且将NioServerSocketChannel.class...原创 2020-12-23 22:15:28 · 126 阅读 · 0 评论