网络编程
文章平均质量分 93
java编程小帅
学如逆水行舟,不进则退
展开
-
netty(2)
处理基于流的传输套接字缓冲区的一个小警告在基于流的传输(如TCP/IP)中,接收的数据存储在套接字接收缓冲区中。不幸的是,基于流的传输的缓冲区不是数据包队列,而是字节队列。这意味着,即使我们将两条消息作为两个独立的数据包发送,操作系统也不会将它们视为两条消息,而是将它们视为一堆字节。因此,无法保证我们所读的内容与远程对等方所写的内容完全相同。例如,假设操作系统的TCP/IP堆栈已接收到三个数据包:由于基于流的协议的这一一般属性,在应用程序中很有可能以以下碎片形式读取它们:因此,接收部原创 2022-01-12 15:11:14 · 326 阅读 · 0 评论 -
netty(1)
问题:如今,我们使用通用应用程序或库彼此通信。例如,我们经常使用HTTP客户端库从web服务器检索信息,并通过web服务调用远程过程调用。然而,通用协议或其实现有时不能很好地扩展。这就像我们不使用通用HTTP服务器来交换巨大的文件、电子邮件和近乎实时的消息,如财务信息和多人游戏数据。所需要的是一个高度优化的协议实现,专门用于特定用途。例如,我们可能希望实现一个HTTP服务器,该服务器针对基于AJAX的聊天应用程序、媒体流或大型文件传输进行了优化。我们甚至可以设计和实现一个全新的协议,该协议完全适合我们的原创 2022-01-12 14:33:43 · 193 阅读 · 0 评论