![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Socket
蛇皮皮蛋
求大佬笔下留情……
展开
-
Socket编程(一)(BIO)
1.套接字地址一个客户端要发起一次通信,首先要知道运行服务器端程序的主机IP地址。然后由网络基础设施利用目标地址将客户端发送的信息传递到正确主机上。在Java中,地址可以由一个字符串定义,可以是数字型的地址(192.168.1.10(IPv4地址),fe20:12a0::0abc:1234(IPv6地址)),也可以是主机名(www.baidu.com)。在后面的例子中,主机名必须被解析出数字型...原创 2018-10-13 19:40:44 · 4559 阅读 · 0 评论 -
Socket编程(二)(NIO)
与Socket和ServerSocket类相对应,NIO也提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现。这两种新增的通道都支持阻塞和非阻塞两种模式。1.缓冲区Buffer Buffer是一个对象,它包含一些要写入或读出的数据。在NIO类库加入Buffer对象,体现了新库与原I/O的一个重要区别。在面向流的I/O中,可以将数据...原创 2018-10-21 14:13:05 · 4038 阅读 · 0 评论 -
Socket编程(三)(AIO)
NIO 2.0引入了新的异步概念,并提供了异步文件通道和异步套接字通道的实现。异步通道提供两种方式获取操作结果:1.通过java.util.concurrent.Future类来表示异步操作的结果。2.在执行异步操作的时候传入一个java.nio.channels。NIO 2.0的异步套接字通道是真正的异步非阻塞I/O,对应于UNIX网络编程中的事件驱动I/O(AIO)。他不需要通过多...原创 2018-10-21 19:19:26 · 4266 阅读 · 0 评论 -
Netty粘包/拆包(一)
TCP出现粘包拆包原因有三个:1.应用程序write写入的字节大小大于套接口发送缓冲区大小;2.进行MSS(最大报文长度)大小的TCP分段(TCP报文长度-TCP头部长度>MSS的时候将发生拆包);3.以太网帧的payload大于MTU(最大数据包大小)进行IP分片。粘包的解决方案:1.消息定长,例如每个报文的大小为固定长度200字节,如果不够,空格补空格;2.在...原创 2018-10-23 23:32:55 · 5578 阅读 · 0 评论 -
HttpClient简单使用
导入pom文件 <!--HttpClient--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> ...原创 2019-07-16 16:21:20 · 4093 阅读 · 0 评论