美文网首页
网络编程学习记录

网络编程学习记录

作者: 羲牧 | 来源:发表于2020-07-26 19:24 被阅读0次

要学好网络编程,需要达到以下三个层次。
第一个层次,充分理解 TCP/IP 网络模型和协议。在这方面,仅仅做到理论上的理解是远远不够的。在基础篇中我们会梳理 TCP/IP 模型和网络函数接口之间的联系,并通过实例展开对套接字,套接字缓冲区,拥塞控制,数据包和数据流,本地套接字(UNIX 域套接字)等的讨论,给你一个全面而具体的知识体系。

第二个层次,结合对协议的理解,增强对各种异常情况的优雅处理能力。比如对 TCP 数据流的处理,半关闭的连接,TCP 连接有效性的侦测,处理各种异常情况等,这些问题决定了程序的健壮性。有关这一部分的内容,我们将在提升篇详细展开。

第三个层次,写出可以支持大规模高并发的网络处理程序。在这个阶段,我将带你一起深入研究 C10K 问题,引入进程、线程、多路复用、非阻塞、异步、事件驱动等现代高性能网络编程所需要的技术。我们将在性能篇深入讨论这些技术,并在实战篇结合实例,一步步教你写出高性能的网络程序。

socket编程流程图解

/* POSIX.1g 规范规定了地址族为2字节的值.  */
typedef unsigned short int sa_family_t;
/* 描述通用套接字地址  */
struct sockaddr{
    sa_family_t sa_family;  /* 地址族.  16-bit*/
    char sa_data[14];   /* 具体的地址值 112-bit */
  }; 

在这个结构体里,第一个字段是地址族,它表示使用什么样的方式对地址进行解释和保存,好比电话簿里的手机格式,或者是固话格式,这两种格式的长度和含义都是不同的。地址族在 glibc 里的定义非常多,常用的有以下几种:AF_LOCAL:表示的是本地地址,对应的是 Unix 套接字,这种情况一般用于本地 socket 通信,很多情况下也可以写成 AF_UNIX、AF_FILE;
AF_INET:因特网使用的 IPv4 地址;
AF_INET6:因特网使用的 IPv6 地址


套接字地址格式 UDP.png

相关文章

  • 网络编程学习记录

    要学好网络编程,需要达到以下三个层次。第一个层次,充分理解 TCP/IP 网络模型和协议。在这方面,仅仅做到理论上...

  • 记录JAVA网络编程学习

    1.UDP的发生和接收 发送: 接收: 多线程版本: 2.TCP的发送和接收 客户端: 服务端:

  • linux网络编程学习记录

    1.把xmind安装上去,这样方便看思维导图软件 客户端的程序

  • windows 网络编程一

    注解: 最近我正在学习windows下的网络编程,因此准备记录下自己学习到的知识,以前对网络编程不是很熟悉,因此在...

  • 手写基于epoll与reactor的tcp服务器

    前言 此文章记录个人学习epoll网络编程相关的心得 了解学习epoll如何使用 了解reactor反应堆模型 了...

  • 网络基本了解

    网络基础 问题:为什么要学习网络编程?(1)网络编程是一种实时更新应用数据的常用手段(2)网络编程是开发优秀网络应...

  • socket通讯编程

    这一块属于网络编程,主要是学习TCP/IP四层的网络体系结构,学习TCP编程和UDP编程。 java.net中 一...

  • java网络编程实现QQ发消息文件,图片等内容

    前言:昨天我们已经初步学习了网络编程到底是怎么一回事儿,今天在此基础上继续学习网络编程,利用网络编程实现 QQ上...

  • iOS-网络基础及应用-Http

    3.网络基础 3.1 网络基础 001 问题:为什么要学习网络编程? 回答:(1)网络编程是一种实时更...

  • Spider基础之网络编程

    学习自刘大拿的Python课程 网络编程 网络编程 网络协议: 一套规则 网络模型:七层模型-理论模型:任务分块,...

网友评论

      本文标题:网络编程学习记录

      本文链接:https://www.haomeiwen.com/subject/kkdwlktx.html