- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP/IP 网络编程与C 代码示例
摘要:本文主要内容包括: TCP/IP 网络编程中用到的基本概念,在win32 下使用
winsock 进行编程的指导以及对应的源码。
在OSI 的各层所使用的协议:
1.应用层:Telnet,FTP,HTTP,DNS,SMTP,POP3
2.传输层:TCP,UDP
TCP:面向连接的可靠的传输协议,通信前建立三次握手,握手成功后才能通信,
对数据准确性要求较高的场合使用,如从网上载的安装文件,不能缺少任何信息
UDP:是无连接的,不可靠的传输协议,不需要建立连接,也没有重传和确认的
机制,在实时性要求较高,但对数据准确度要求不是很高的场合使用,如视频会
议,在线观看电影,当中丢失个别数据包并不影响整体的效果。
3.网络层:IP
因为OSI 七层结构较为复杂,所以使用较多的是 TCP/IP 模型,现在 TCP/IP
已经成为Internet 上通用的工业标准
TCP/IP 模型包括4 个层次:应用层,传输层,网络层,网络接口
端口
1.为了标识通信实体中进行通信的进程(应用程序),TCP/IP 协议提出了协议
端口的概念
2.端口是一种抽象的软件结构(包括一些数据结构和 I/O 缓冲区)。应用程序
通过系统调用和某端口建立连接(binding)后,传输层传给该端口的数据都被
相应的进程所接收,相应进程发给传输层的数据都通过该端口输出
3.端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP 传
输层的两个协议TCP 和UDP 是完全独立的的两个软件模块,因此各自的端口号
也相互独立
4.端口使用一个 16 位的数字来表示,它的范围是0~65535,1024 以下的端
口号保留给预定义的服务,例如,http 使用80 端口
套接字(Socket)
1.Socket 的出现,使得程序员可以很方便的访问TCP/IP,从而开发各种网络
应用的程序
2.套接字存在于通信区域中,通信区域也叫地址族,他是一个抽象的概念,主要
用于通过套接
通信的进程的共有特性综合在一起。套接字通常只与同一个区域的套接字交换数
据。
套接字的类型
1.流式套接字(SOCK_STREAM )
提供面向连接的,可靠的数据传输服务,数据无差错,无重复的发送,且按发送
的顺序接收,基于TCP 协议
2.数据保式套接字(SOCK_DGRAM)
提供无连接的服务,数据包以独立包形式发送,不提供无错误的保证,数据可能
丢失或重复,且接收顺序混乱,基于UDP 协议
基于TCP (面向连接)的Socket 编程
服务器端顺序:
1.加载套接字库
2.创建套接字(socket )
3.将套接字绑定到一个本地地址和端口上(bind)
4.将套接字设为监听模式,准备接收客户请求(listen)
5.等待客户请求的到来;当请求带来后,接受连接请求,返回一个新的对应于此
次连接的套接字(accept)
6.用返回的套接字和客户端进行通信(send/recv)
7.返回,等待另一个客户请求
8.关闭套接字(closesocket)
客户端程序:
1.加载套接字库
2.创建套接字(socket)
3.向服务器发送连接请求(connect)
4.和服务器端进行通信(send/receive)
5.关闭套接字(closesocket)
基于UDP (面向无连接)的socket 编程
服务器端(接收端)程序:
1.加载套接字库
2.创建套接字(socket )
3.将套接字绑定到一个本地地址和端口上(bind)
4.等待接收数据(recvfrom )
5.关闭套接字(closesocket)
客户端(发送端)程序
1.加载套接字库
2.创建套接字(socket )
3.向服务器发送数据(sendto)
4.关闭套接字(closesocket)
创建基于TCP 协议的CS 程序的Server 端所涉及的相关函数说明(按使用的
先后顺序排列):
1.intWSAStartup (WORDwVersionRequested,LPWSADATAlpWSAData ):作用
是加载套接字库和进行套接字库的版本协商
a.参数wVersionRequested :用于指定准备加载的Winsock 库的版本,高位字节指
定所需要的 Winsock 库的副版本,低位字节则是主版本,可用
MAKEWORD(X,Y)( 其中,x 为高位字节,y 为低位字节) 方便获得
wVersionReques
您可能关注的文档
- SANGFOR AC&SG 2012年度培训14_协议剥离及PPPOE单点登录功能培训_LSQ.ppt
- SAP BusinessObjects Portlets 门户集成套件用户指南.pdf
- SAP90程序安装和运行.pdf
- SAS学习系列08. 日期时间数据和数据格式.docx
- Scopia XT4000高清终端安装和使用手册.pdf
- SELECT使用方法.doc
- Serv-U FTP的建立与维护手册.pdf
- sftp的使用-本地及远程服务器之间的文件传输.docx
- Sftp与ftp over ssh2的区别.doc
- shell脚本----if(数字条件,字符串条件,字符串为空) - 奔跑蜗牛 - 博客频道 - CSDN.pdf
最近下载
- 统编版六年级语文上册习作《多彩的活动》精品课件(共84张PPT).pptx VIP
- 电厂2×600MW机组扩建工程建筑及安装工程土建专业主要技术施工方案.docx VIP
- 电厂2×600MW扩建(脱硫土建、安装)工程土建专业主要施工技术方案.docx VIP
- 电厂2×600MW机组扩建工程建筑及安装锅炉专业施工技术方案.docx VIP
- 煤电公司2×600MW机组工程汽机专业主要施工技术方案.pdf VIP
- 2X660MW超超临界燃煤机组工程qtz2500型塔式起重机安装的施工方案.doc VIP
- 2X660MW超超临界燃煤机组工程#2锅炉平台楼梯安装方案全案(终版).doc VIP
- 2X660MW超超临界燃煤机组工程#2锅炉平台楼梯安装的方案.doc VIP
- 电厂(2×660MW超超临界机组)机组安装工程锅炉专业施工方案.docx VIP
- 电厂(2×660MW超超临界机组)机组安装工程汽机专业施工方案.docx VIP
文档评论(0)