介绍
Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…
好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。
读者对象
这个文档是一个指南,而不是参考书。如果你刚开始 socket 编程并想找一本入门书,那么你是我的读者。但这不是一本完全的 socket 编程书。
平台和编译器
这篇文档中的大多数代码都在 Linux 平台PC 上用 GNU 的 gcc 成功编译过。而且它们在 HPUX平台 上用 gcc 也成功编译过。但是注意,并不是每个代码片段都独立测试过。
目录:
- 什么是套接字?
- Internet 套接字的两种类型
- 网络理论
- 结构体
- 本机转换
- IP 地址和如何处理它们
- socket()函数
- bind()函数
- connect()函数
- listen()函数
- accept()函数
- send()和recv()函数
- sendto()和recvfrom()函数
- close()和shutdown()函数
- getpeername()函数
- gethostname()函数
- 域名服务(DNS)
- 客户-服务器背景知识
- 简单的服务器
- 简单的客户端
- 数据报套接字Socket
- 阻塞
- select()–多路同步I/O
- 参考资料