目录
摘要
网络编程在实际的工作中很常用,一般占据项目开发的一半时长,弄懂它不论是提高工作效率还是面试、找工作都有利。
网络编程这部分计划用20个篇幅记录学习、实战笔记,尽情关注。
1. Socket(套接字)的定义
“socket就是插座,运行在计算机中的两个程序通过socket建立起一个通道,数据在通道中传输。
socket把复杂的TCP/IP协议族隐藏了起来,对程序员来说,只要用好socket相关的函数,就可以完成网络通信。”——摘自C语言技术网

socket的分类
“socket提供了流(stream)和数据报(datagram)两种通信机制、,即流socket和数据报socket。
流socket基于TCP协议,是一个有序、可靠、双向字节流的通道,传输数据不会丢失、不会重复、顺序也不会错乱。
数据报socket基于UDP协议,不需要建立和维持连接,可能会丢失或错乱。UDP不是一个可靠的协议,对数据的长度有限制,但是它的效率比较高。”——摘自C语言技术网
1.1 创建Socket
实际上就是一个结构体



一个程序中可以创建多少个socket?
1024,单个进程打开的文件数是可以通过参数配置的,一般是1024个。
1.2 准备知识
1.2.1 字节序


1.2.2 字节序转换函数


转换练习:
1.2.3 通用地址结构

1.2.4 因特网地址结构

1.2.5 IPv4地址族和字节地址间的转换

1.2.6 填写IPv4地址族结构案例



1.3 实际编程
1.3.1 TCP客户端服务器编程模型

1.3.2 套接字与地址绑定


1.3.3 建立连接


TCP的三次握手


send函数
TBD.
recv函数
TBD.

TBD.
参考资料
【1】海同教育,Linux系统编程系列课程
【2】C语言技术网

本文深入解析网络编程核心概念,重点介绍Socket(套接字)原理与应用,涵盖TCP/IP协议族、字节序转换、IPv4地址处理及TCP客户端服务器模型。通过20篇系列文章,全面掌握网络编程技巧。
686

被折叠的 条评论
为什么被折叠?



