socket(网络通信)教程
socket 是「套接字」的意思,学习 socket 编程,也就是学习计算机之间如何通信,并用编程语言来实现它。
socket 通信技术就是两台联网的计算机之间交换数据的技术,这就是 socket 的全部内容了吗?是的,socket 远比想象中简单很多!
为了让大家从底层理解 socket,不要被高级语言的各种封装所迷惑,本教程决定使用C语言进行编程,并同时讨论 Windows 和 Linux 两个平台。
阅读完本教程,你将 get 到计算机通信的基本原理,以及当前主流的技术选型,然后亲自设计出一款简单的 HTTP 服务器。
socket 通信技术就是两台联网的计算机之间交换数据的技术,这就是 socket 的全部内容了吗?是的,socket 远比想象中简单很多!
为了让大家从底层理解 socket,不要被高级语言的各种封装所迷惑,本教程决定使用C语言进行编程,并同时讨论 Windows 和 Linux 两个平台。
阅读完本教程,你将 get 到计算机通信的基本原理,以及当前主流的技术选型,然后亲自设计出一款简单的 HTTP 服务器。
关于本教程
- 教程目录:
- 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. socket端口被占用的解决方案(2种)
- 16. 如何让服务器端持续不断地监听客户端的请求?
- 17. socket缓冲区以及阻塞模式详解
- 18. TCP协议的粘包问题(数据的无边界性)
- 19. 图解TCP数据报结构以及三次握手(非常详细)
- 20. 详细分析TCP数据的传输过程
- 21. 图解TCP四次握手断开连接
- 22. 如何优雅地断开TCP连接?
- 23. socket编程实现文件传输功能
- 24. 网络数据传输时的大小端问题
- 25. 在socket编程中使用域名
- 26. 再谈UDP和TCP
- 27. 基于UDP的服务器端和客户端
- 28. Socket模拟网站服务器(HTTP服务器)
- 29. I/O多路复用技术详解
- 30. select实现I/O多路复用(超级详细)
- 31. select多路复用技术实现回声客户端
- 32. poll实现I/O多路复用详解
- 33. Linux epoll:更高效的I/O复用技术
- 34. Linux epoll条件触发和边缘触发详解
- 35. epoll模拟网站服务器(HTTP服务器)
- 36. 多播(基于UDP协议)