下载此文档

c语言SOCKEt编程指南.doc


文档分类:IT计算机 | 页数:约63页 举报非法文档有奖
1/63
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/63 下载此文档
文档列表 文档介绍
介绍 Socket 编程让你沮丧吗?从 man pages 中很难得到有用的信息吗?你想跟上时代去编 相关的程序, 但是为你在调用 connect() 前的 bind() 的结构而不知所措?等等…好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。----------------------------------------------------------------------------- --- 读者对象这个文档是一个指南,而不是参考书。如果你刚开始 socket 编程并想找一本入门书, 那么你是我的读者。但这不是一本完全的 socket 编程书。----------------------------------------------------------------------------- --- 平台和编译器这篇文档中的大多数代码都在 Linux 平台 PC 上用 GNU 的 gcc 成功编译过。而且它们在 HPUX 平台上用 gcc 也成功编译过。但是注意,并不是每个代码片段都独立测试过。----------------------------------------------------------------------------- --- 目录: 1) 什么是套接字? 2) 套接字的两种类型 3) 网络理论 4) 结构体 5) 本机转换 6) IP 地址和如何处理它们 7) socket() 函数 8) bind() 函数 9) connect() 函数 10) listen() 函数 11) accept() 函数 12) send() 和 recv() 函数 13) sendto() 和 recvfrom() 函数 14) close() 和 shutdown() 函数 15) getpeername() 函数 16) gethostname() 函数 17) 域名服务( DNS ) 18) 客户- 服务器背景知识 19) 简单的服务器 20) 简单的客户端 21) 数据报套接字 Socket 22) 阻塞 23) select()-- 多路同步 I/O 24) 参考资料----------------------------------------------------------------------------- --- 什么是 socket ? 你经常听到人们谈论着“ socket ”,或许你还不知道它的确切含义。现在让我告诉你: 它是使用标准 Unix 文件描述符(file descriptor) 和其它程序通讯的方式。什么?你也许听到一些 Unix 高手(hacker) 这样说过: “呀, Unix 中的一切就是文件! ”那个家伙也许正在说到一个事实: Unix 程序在执行任何形式的 I/O 的时候,程序是在读或者写一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数。但是( 注意后面的话), 这个文件可能是一个网络连接, FIFO , 管道,终端,磁盘上的文件或者什么其它的东西。 Unix 中所有的东西就是文件! 所以, 你想和 上别的程序通讯的时候,你将要使用到文件描述符。你必须理解刚才的话。现在你脑海中或许冒出这样的念头:“那么我从哪里得到网络通讯的文件描述符呢? ”,这个问题无论如何我都要回答:你利用系统调用 socket() ,它返回套接字描述符(socket descriptor) , 然后你再通过它来进行 send() 和 recv() 调用。“但是...”,你可能有很大的疑惑, “如果它是个文件描述符,那么为什么不用一般调用 read() 和 write() 来进行套接字通讯? ”简单的答案是: “你可以使用! ”。详细的答案是: “你可以,但是使用 send() 和 recv() 让你更好的控制数据传输。”存在这样一个情况:在我们的世界上,有很多种套接字。有 DARPA 地址( 套接字) ,本地节点的路径名(Unix 套接字), CCITT 地址( 你可以将 套接字完全忽略) 。也许在你的 Unix 机器上还有其它的。我们在这里只讲第一种: 套接字。----------------------------------------------------------------------------- --- 套接字的两种类型什么意思?有两种类型的 套接字?是的。不, 我在撒谎。其实还有很多, 但是我可不想吓着你。我们这里只讲两种。除了这些, 我打算另外介绍的"Raw Sockets" 也是非常强大的,很值得查阅。那么这两种类型是什么呢?一种是"Stre

c语言SOCKEt编程指南 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数63
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aluyuw1
  • 文件大小0 KB
  • 时间2016-06-19