首页 > socket

socket编程入门:1天玩转socket通信技术(非常详细)

socket通信技术入门教程封面socket 是“套接字”的意思,学习 socket 编程,也就是学习计算机之间如何通信,并用编程语言来实现它。

socket 通信技术就是两台联网的计算机之间交换数据的技术,这就是 socket 的全部内容了吗?是的!socket 编程远比想象中的简单很多,阅读完这套简明的入门教程你就能胜任简单的 socket 编程了。

本教程会同时涉及 Windows 和 Linux,两个平台下的 socket 技术虽然细节有所差异,但是整体上的思想是一样的,所以并不会增加多少学习成本,反而更能见多识广。

这套 socket 入门教程需要读者具备C语言基础,如果你还不了解C语言,请转到《C语言入门教程》。

教程目录
1. socket是什么?套接字是什么?
2. 套接字有哪些类型?socket有哪些类型?
3. 面向连接和无连接的套接字到底有什么区别
4. OSI网络七层模型简明教程
5. TCP/IP协议族
6. IP、MAC和端口号——网络通信中确认身份信息的三要素
7. Linux下的socket演示程序
8. Windows下的socket演示程序
9. Windows下使用WSAStartup()函数加载DLL
10. socket()函数用法详解:创建套接字
11. bind()和connect()函数:绑定套接字并建立连接
12. listen()和accept()函数:让套接字进入监听状态并响应客户端请求
13. send()/recv()和write()/read():发送数据和接收数据
14. 使用socket编程实现回声客户端
15. 如何让服务器端持续不断地监听客户端的请求?
16. socket缓冲区以及阻塞模式详解
17. TCP协议的粘包问题(数据的无边界性)
18. 图解TCP数据报结构以及三次握手(非常详细)
19. 详细分析TCP数据的传输过程
20. 图解TCP四次握手断开连接
21. 如何优雅地断开TCP连接?
22. socket编程实现文件传输功能
23. 网络数据传输时的大小端问题
24. 在socket编程中使用域名
25. 再谈UDP和TCP
26. 基于UDP的服务器端和客户端
除了 C Socket,大部分的编程语言都提供了自己的 Socket 编程接口,比如 Java Socket、C# Socket、Node.js Socket 等,它们往往更加实用。本教程之所以选择C语言,是希望大家从底层理解 Socket,不要被各种封装所迷惑。

阅读完本教程以后,读者可以继续学习各种编程语言提供的 Socket 接口,我推荐以下相关文章: