1 / 22
文档名称:

c语言socket编程指南.doc

格式:doc   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言socket编程指南.doc

上传人:ranfand 2016/6/19 文件大小:0 KB

下载得到文件列表

c语言socket编程指南.doc

文档介绍

文档介绍:c语言 socket 编程指南(1) 2008-05-15 14:19 介绍 Socket 编程让你沮丧吗?从 man pages 中很难得到有用的信息吗?你想跟上时代去编 相关的程序,但是为你在调用 connect() 前的 bind() 的结构而不知所措?等等…好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C语言并想穿过网络编程的沼泽,那么你来对地方了。-------------------------------------------------------------------------------- 读者对象这个文档是一个指南,而不是参考书。如果你刚开始 socket 编程并想找一本入门书,那么你是我的读者。但这不是一本完全的 socket 编程书。-------------------------------------------------------------------------------- 平台和编译器这篇文档中的大多数代码都在 Linux 平台 PC上用 GNU 成功编译过。而且它们在 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" 也是非常强大的,很值得查阅。那么这两种类型是什么呢?一种是"Stream Sockets"

最近更新

汽车租赁合同我方为承租方空白(二零二五版) 8页

污水运维合同(二零二五版) 8页

水电安装工程劳务合同二零二五年 8页

水塘承包租赁合同书二零二五年 8页

正规的苹果购销合同范例二零二五年 8页

橱柜三方施工合同复习进程二零二五年 7页

树木砍伐的合同范例二零二五年 9页

条码打印机售后服务协议书二零二五年 7页

儿童之家项目申请书(8篇) 16页

德佑房产中介2025年度房产买卖市场信息共享与.. 9页

养老院老年人娱乐活动策划与执行合同 9页

党支部联建建协议书(2025年度老年服务共建计.. 8页

二零二五年度高空作业安全责任免除合同 9页

二零二五年度金融风控专员聘用合同模板 9页

二零二五年度跨境电商公司转让标准文本 9页

二零二五年度规模化农场兽药供应与销售合同 9页

二零二五年度船舶燃油质量检测与供应合同 9页

二零二五年度能源企业代理记账与节能减排合同.. 9页

二零二五年度科技项目转化中介合同细则 9页

二零二五年度矿山承包经营与矿产资源勘查合同.. 9页

二零二五年度生物制药企业法人借款协议 7页

分子标记及遗传连锁图谱 311页

液体化工品船运合同样本 6页

河道疏浚废渣清运协议 7页

沙石码头运输合作协议 7页

酒店经理聘用合同书范本(2024版) 13页

2025年度除草剂应用技术与销售大全 4页

准易技能高考文化综合模拟试题答案 9页

工程施工资源配置计划施工资源配置计划 25页

学校信息化建设及开展应用情况 6页