- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sendto() 和 recvfrom() ? int sendto(int sockfd, const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen); ? 你已经看到了,除了另外的两个信息外,其余的和函数 send() 是 一样的。 to 是个指向数据结构 struct sockaddr 的指针,他包含 了目的地的 IP 地址和断口信息。 tolen 可以简单地设置为 sizeof(struct sockaddr) 。 ? 相似的还有函数 recv() 和 recvfrom() 。 ? recvfrom() 的定义是 这样的: ? int recvfrom(int sockfd, void *buf, int len, unsigned int flags struct sockaddr *from, int *fromlen); close() 和 shutdown() ? 你已经整天都在发送 (send()) 和接收 (recv()) 数据了,现在你准备 关闭你 的套接口描述符了。这很简单,你可以使用一般的 Unix 文件描述符的 close() 函 数: ? close(sockfd); ? 他将防止套接口上更多的数据的读写。任何在另一端读写套接口的企图 都将返回错误信息。 ? 如果你想在如何关闭套接口上有多一点的控制,你可以使用函数 shutdown() 。他能够让 你将一定方向的通讯或者双向的通讯 ( 就象 close() 一样 ) 关闭,你可以使用: ? int shutdown(int sockfd, int how); 介绍 ? Hey! Socket 编程让你沮丧吗?从 man pages 中很难得到有用的信息吗?你想 跟 上时代去做一做 Internet 程序,但是为你 在调用 connect() 前的 bind() 的结构而愁 眉不展? … 读者 ? 这个文档是写成一个指南,而不是参考 书。如果你刚开始 socket 编程并想找一 本 入门书,那么你是我的读者。这可不 是一本完全的 socket 编程书。 平台和编译器 ? 这篇文章中的大多数代码都在一台 Linux PC 上用 GNU 的 gcc 成功编译过。 而且 他们在一台 HPUX 上用 gcc 也成功编译 过。但是注意,并不是每个代码 片段都 独立测试过。 目录 ? 什么是套接口? ? Internet 套接口的两种类型 ? 网络理论 ? struct -- 要么了解他们,要么等异形入侵 地球 ? Convert the Natives! ? IP 地址和如何处理他们 目录 ? socket() -- 得到文件描述符! ? bind() -- 我们在哪个端口? ? connect() --Hello ! ? listen() -- 有人给我打电话吗? ? accept() --Thank you for calling port 3490. 目录 ? send() 和 recv() --Talk to me, baby! ? sendto() 和 recvfrom() --Talk to me, DGRAM-style ? close() 和 shutdown() -- 滚开! ? getpeername() -- 你是谁? ? gethostname() -- 我是谁? 目录 ? DNS -- 你说“白宫”,我说 00 ? 客户 - 服务器背景知识 ? 简单的服务器 ? 简单的客户端 ? 数据报 Socket 目录 ? 阻塞 ? select() -- 多路同步 I/O ,酷! ? 参考资料 ? Disclaimer and Call for Help 什么是 socket ? ? 你始终听到人们谈论着 獜捯敫屴 ,而你不知道他的确切含义。那么,现在我告诉你: 他是使 用 Unix 文件描述符 (fiel descriptor) 和其他程序通讯的方式。 ? 什么? ? Ok-- 你也许听到一些 Unix 高手 (hacker) 这样说:“呀, Unix 中所有的东西 就是文件!”那个 家伙也许正在说到一个事实: Unix 程序在执行任何形式的 I/O 的时候, 程序是在读或者写一 个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数。 但是 ( 注意后面的话 ) , 这个文件可能是一个网络连接, FIFO ,管道,终端,磁盘上的文件 或者什么其他的东西。 Unix 中所有的东西 是 文件!因此,你想和 Internet
您可能关注的文档
最近下载
- 高压除氧器培训课件.ppt VIP
- 最新行政执法题库行政执法试题及答案附答案详解(夺分金卷).docx VIP
- 最新行政执法题库行政执法试题及答案附答案详解(综合卷).docx VIP
- 最新行政执法题库行政执法试题及答案附答案详解(a卷).docx VIP
- 时速160客货共线铁路简支T梁-24m 通桥(2012)2101-II.pdf VIP
- 解密华为人资资源管理题库.docx VIP
- 最新行政执法题库行政执法试题及答案附答案详解(典型题).docx VIP
- 最新行政执法题库行政执法试题及答案附答案详解(基础题).docx VIP
- 大学生职业生涯规划.pdf VIP
- 个人电脑抵押合同4篇.docx VIP
原创力文档


文档评论(0)