• 百度10年架构师分享的(Java TCP/IP Socket编程开发经验)看完受益匪浅!


    TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

    如今,TCP/IP已成为计算机网络协议事实上的标准,而Java凭 借其跨平台特性和对网络编程的强大支持能力,在网络应用中已占据了主导地位。本书基于TCP/IP套接字的相关原理,对如何在Java中 进行套接字编程作了深入浅出的介绍。

    《Java TCP_IP Socket编程》内容简明扼要,条理清晰,并在讲解相应的概念或编程技巧时列举了大量的示例程序,能够使读者在动手过程中加深理解,而每章结束时的练习可以帮助读者检查自己对已学知识的掌握程度,因此非常适合作为Java套接字编程的教程。虽然本书专注于介绍如何使用Java进行TCP/IP套接字编程,但其涉及的套接字相关概念和基本原理与具体编程语言无关,从而使读者能够抓住套接字编程的本质,并轻松地转向其他编程语言。

    目录

    第1章对计算机网络的概念进行了总体概述。

    从各方面看,这一介绍并不全面,但能够使读者与贯穿全书的概念和术语相同步。

    • 计算机网络、分组报文和协议
    • 关于地址
    • 关于名字
    • 客户端和服务器
    • 什么是套接字

    第2章介绍了简单的客户端和服务器的结构

    这章中的代码能作为进行各种练习的起点。

    • 套接字地址
    • TCP套接字
    • UDP套接字

    希望大家都认真阅读哦,进步肯定不止一点点,下个月就是跳槽的高峰期了,我给大家整理了很多互联网大厂的面试题,包含腾讯,字节,阿里等等,在跳槽之前好好准备准备冲一波~想要了解的,【tcp】滴我可取~

    第3章涵盖了有关消息的创建和解析的基础内容。

    读者若能理解并消化前3章的内容,将能够为简单应用协议实现一一个客户端和服务器。

    • 信息编码
    • 组合输入输出流
    • 成帧与解析
    • Java特定编码
    • 构建和解析协议消息
    • 结束

    第4章和第5章介绍了建立具有扩展性和健壮性的客户端与服务器端的高级技术

    第2章中客户端与服务器端的例子演示了在Java中进行Socket编程的基本模式,下一步我们将介绍如何把这些基本概念应用到各种编程模型中去,如多任务处理、非阻塞式I/0、广播等。

    • 多任务处理
    • 阻塞和超时
    • 多接收者
    • . 控制默认行为
    • 关闭连接
    • Applet
    • 结束

    第5章专注于工具的应用并对“NewI/0”包进行了讲解。最后,为了与“通过程序来阐明原理”的目的相一致

    本章将对“NewI/O”工具包的主要应用进行介绍。NI0主要包括两个部分: java. nio. channels包介绍Selector和Channel抽象,java. nio包介绍Buffer抽象。这都是一些高级的特性, 有许多微妙的使用细节,因此,本章的组织结构也与前面的章节略有不同。

    • 为什么需要NIO
    • 与Buffer-起使用Channel
    • Selector
    • Buffer详解
    • 流(TCP)信道详解
    • Selector详解
    • 数据报(UDP) 信道

    第6章从细节上讨论了程序的构造和底层协议的实现之间的关系。

    如果不理解套接字的具体实现所关联的数据结构和底层协议的工作细节,就很难抓住网络编程的精妙之处,对于TCP套接字(即Socket的实例)来说更是如此。本章就对创建和使用Socket或ServerSocket实例时的底层细节进行了介绍。

    • 缓冲和TCP
    • 死锁风险
    • 性能相关
    • TCP套接字的生存周期
    • 解调多路复用揭秘

    希望分享的知识都可以帮助到大家,也希望大家学了都能有收获~

  • 相关阅读:
    Matlab之创建空数组的多种方法汇总
    pymongo 查询结果cursor转list数组较慢的解决办法
    vue项目axios的使用实例详解
    1.12.C++项目:仿muduo库实现并发服务器之LoopThreadPool模块的设计
    问题记录v(●‘◡‘●)v
    产品经理需求文档(PRD)怎么写?
    MPPT太阳能充放电控制器数据采集-通过网关采集电池电压容量电量SOC,wifi传输
    Redis集群原理与容器化部署集群
    Python循环写文件结尾不带换行
    一口气面了 6 家大厂,拿下 5 家 offer,分享下面试经验,想进大厂其实没有那么难
  • 原文地址:https://blog.csdn.net/weixin_62421895/article/details/126437222