摘要: Socket#setSoTimeout 可以设置读超时时长。如果超过了给定时间,则抛出一个 InterruptedIOException 异常。 ServerSocket#setTimeout 可以设置 ServerSocket#accept 的等待连接的超时时间。如果超过了给定时间,则抛出一个 InterruptedIOException 异常。 Socket#connect 有一个 timeout 参数,可以设置连接超时时长。如果超过了给定时间,则抛出一个 InterruptedIOException 异常。 阅读全文
posted @ 2020-08-05 23:44 极客子羽 阅读(2627) 评论(0) 推荐(0)
摘要: backlog 参数表示套接字上请求的最大挂起连接数,即将连接的队列长度。 减少 accept 之后的延迟,可以保证更多的套接字连接到我们的服务器。 阅读全文
posted @ 2020-08-05 20:53 极客子羽 阅读(2066) 评论(3) 推荐(0)
摘要: 本文介绍了如何使用 Socket 和 ServerSocket 分别实现 Java 客户端和 Java 服务端,同时还详细介绍了用到的 API。 另外还使用 Socket 和 ServerSocket 实现一条线程处理一个 Socket 连接的 BIO 模型。 阅读全文
posted @ 2020-08-03 22:35 极客子羽 阅读(1011) 评论(0) 推荐(0)
摘要: 本文使用 Wireshark 抓包工具,Windows Telnet 客户端以及 Java 编写的 EchoServer 程序,验证了 TCP 中的三次握手和四次挥手的过程。除此以外,本文还为大家展示了著名的半关闭状态。 阅读全文
posted @ 2020-07-30 21:39 极客子羽 阅读(1176) 评论(0) 推荐(0)
摘要: TCP 是传输层协议,为应用程序提供了稳定可靠的数据传输。它是一个滑动窗口协议,提供了超时和重传的处理。 TCP 是在两个端点之间建立的全双工虚拟连接。每个端点由 IP 地址和端口号定义。 数据以字节流的形式传输,字节流按段传输。窗口大小决定了在需要接收方确认之前可以发送的数据字节数。 阅读全文
posted @ 2020-07-25 16:06 极客子羽 阅读(1214) 评论(0) 推荐(0)
摘要: 保姆级课程,带你成功在 Win7 电脑上安装 Wireshark + npcap,并且支持抓取 127.0.0.1 本地环回地址的包 阅读全文
posted @ 2020-07-24 11:44 极客子羽 阅读(20163) 评论(2) 推荐(6)
摘要: Selector、SelectableChannel、SelectionKey 是 Java NIO 多路复用中的核心组件。 多路复用技术主要用于网络编程,SelectableChannel 其主要实现包含 DatagramChannel、ServerSocketChannel 和 SocketChannel。 Selecter 是 SelectableChannel 在设置非阻塞情况下使用的多路复用选择器。 SelectableChannel 支持注册事件的信道。 SelectionKey 是注册事件后,建立 Selector 与 SelectableChannel 之间关系的桥梁。 阅读全文
posted @ 2020-07-22 19:44 极客子羽 阅读(996) 评论(0) 推荐(1)
摘要: Stream 流处理,首先要澄清的是 java8 中的 Stream 与 I/O 流 InputStream 和 OutputStream 是完全不同的概念。 Stream 机制是针对集合迭代器的增强。流允许你用声明式的方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。 本文后半部分将拿 Stream 中查询语句与我们熟悉的 SQL 查询语句做一些类别,方便大家的理解和记忆。 阅读全文
posted @ 2020-07-17 23:03 极客子羽 阅读(6848) 评论(0) 推荐(5)
摘要: 本文主要从四个方面介绍了Java8中的Lambda表达式:前置条件,参数的传递,编写方式,以及方法引用。 阅读全文
posted @ 2020-07-14 19:28 极客子羽 阅读(2142) 评论(0) 推荐(1)
摘要: Buffer缓存区是NIO的重要组件,本文将以图文混合的方式为大家展示主要的API方法 阅读全文
posted @ 2020-07-12 15:34 极客子羽 阅读(1070) 评论(0) 推荐(0)