- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Microsoft Word - Linux_socket_编程入门.pdf
Linux socket 编程入门(一)TCP server 端:1、建模
作者:龙飞
绝大部分关于 socket 编程的教程总是从 socket 的概念开始讲起的。要知道,socket
的初衷是个庞大的体系,TCP/IP 只是这个庞大体系下一个很小的子集,而我们真正能用上的更
是这个子集中的一小部分:运输层(Host-to-Host Transport Layer)的 TCP 和 UDP 协议,
以及使用这两个协议进行应用层(Application Layer)的开发。即使是 socket 的核心部分,
网络层(Internet Layer)的 IP 协议,在编程的时候我们也很少会感觉到它的存在——因为已
经被封装好了,我们唯一需要做的事情就是传入一个宏。第一节我想介绍的概念就这么多,当然,
既然我们已经说了 3 个层了,我想最好还是把最后一个层也说出来,即所谓链路层(Network
Access Layer),它包括了物理硬件和驱动程序。这四个层从底到高的顺序是:链路层--网
络层--运输层--应用层。
好,说实话我们现在并不清楚所谓 TCP 到底是什么东东,不过我们知道这东东名气很大。
或许你早就知道,另外一个声名狼藉建立在 TCP 协议基础上的应用程序,它曾经几乎是统治了
一个时代,即使是今天,我们依然无法消除他的影响力的——恩,是的,就是 telnet。
在这个教程中,我使用的环境是 Debian GNU/Linux 4.0 etch。传说中的 stable -_
-!!!,恩,我是很保守的人。如果你不是自己 DIY 出来的系统,相信默认安装里面就应该有 tel
net(/usr/bin/telnet,要是没装就自己 aptitude install 吧)。telnet 可以与所有遵循 TCP
协议的服务器端进行通讯。通常,socket 编程总是 Client/Server 形式的,因为有了 telnet,
我们可以先不考虑 client 的程序,我们先写一个支持 TCP 协议的 server 端,然后用 telnet 作
为 client 验证我们的程序就好了。
server 端的功能,我们也考虑一种最简单的反馈形式:echo。就如同你在终端输入 ech
o Hello World,回车后 shell 就会给你返回 Hello World 一样,我们的第一个 TCP server
就用以实现这个功能。
什么样的模型适合描述这样的一种 server 呢?我相信,一个很 2 的例子会有助于我们记
忆 TCP server 端的基本流程。
想象你自己是个小大佬,坐办公室(什么样的黑社会做办公室啊?可能是讨债公司吧^^)
你很土,只有一个小弟帮你接电话(因为你自己的号码是不敢对外公开的)。一次通讯的流程大
概应该是这样的:小弟那里的总机电话响了;小弟接起电话;对方说是你女朋友 A 妹;小弟转
达说,“老大,你马子电话”;你说,接过来;小弟把电话接给你;你和你女朋友聊天半小时;挂
电话。
我们来分析一下整个过程中的元素。先分析成员数据(请注意,这里开始用 C++术语了):
你小弟(listenSock),你需要他来监听(listen,这是 socket 编程中的术语)电话;你自己
(commu
文档评论(0)