- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用socket实现网络实时通信
用Sockets实现网络实时通信
***
***大学信息工程系
摘要:介绍有关网络客户服务模型的Socket通信应用,设计了一个实现面向连接的通信方式的实际例子,说明两者是如何进行通信的。
关键词:Socket;通信;客户端;服务器端目录引言 1
一.Socket通讯原理简介 2
1.1 Socket简介 2
1.2 Socket通讯连接方式 3
1.流式Socket 3
2.数据报Socket 3
3.原始Socket 4
1.3 Socket编程相关的数据类型定义 4
1.该结构类型用来保存socket信息 4
2.struct sockaddr_in 4
3.socket() 5
4.bind() 6
5.connect() 6
6.listen() 7
7.accept() 7
8.send()和recv() 8
9.sendto()和recvfrom() 9
10.close()和shutdown() 10
11.字节顺序转换函数 10
1.4面向连接协议的Socket编程模型 11
1.5无连接协议的Socket编程模型 13
二.服务器/客户机的socket通讯模式实现 15
三.总结 20
3.1Socket通信的原理 20
3.2socket通信的缺点 20
参考文献 21
引言
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。
网络的Socket数据传输时一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立,数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket SOCK_DGRAM 。流式Socket是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。一.Socket通讯原理简介
1.1 Socket简介
网络编程,即编写通过计算机网络与其他程序进行通讯的程序。而Socket编程是网络编程的主流工具。U.C.Berkeley大学早定义了Socket接口规范,也就是我们所熟悉Berkeley Socket。Socket可以使用多种通讯协议,主要是TCP/IP。TCP/IP是计算机互联最常使用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP,见图1所示。
图1
TCP/IP使用一个网络地址和一个服务端口号来唯一地标识设备。网络地址标识网络上的特定设备;端口号标识要连接到的该设备上的特定服务。网络通讯的基本模式如下:每一台通讯的主机都有一个本网络环境中的唯一的IP地址,一台主机上往往有多个通讯程序存在,每个这样的程序都要占用一个通讯端口。因此,一个IP地址,一个通讯端口,就能确定一个通讯程序的位置(某个IP上占用某个端口的程序)。
1.2 Socket通讯连接方式
Socket目前主要有三种类型:流式Socket,数据报Socket和原始Socket。
1.流式Socket
流式套接字提供可靠的,面向连接的通信流;类似于是电话系统服务,即每一次完整的数据传输都要经过建立连接,使用连接,终止连接的过程。在数据传输过程中,各数据分组不携带目的地址,而使用连接号。从本质上看,连接是一个管道,收发数据不但顺序一致,而且内容相同。TCP协议提供面向连接的虚电路。
2.数据报Socket
数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且不保证可靠,无差错。类似于邮政系统服务。每个分组都携带完整的目的地址,各分组在系统中独立传送。无连接服务不能保证分组的先后顺序,不进行分组出错的回复与重传,不保证传输的可靠性。UDP协议提供无连接的数据报服务。它使用数据报协议UDP。
3.原始Socket
原始套接字允许多底层协议如IP或ICMP直接访问,它功能强大但使用不便,主要用于一些协议的开发。
1.3 Socket编程相关的数据类型定义
1.该结构类型用来保存socket信息
struct sockaddr unsigned short sa_family;/*地址族,AF_xxx有IPV4与IPV6等*/ char sa_data[14];/*14字节的协议地址*/
;
sa_family一般为AF_INET; sa_data中则包含该socket的IP地址和端口号。
2.struct sockaddr_in
struct sockaddr_in short int
您可能关注的文档
- 甘肃省2014度高三第一次诊断考试英语试卷.doc
- 甘肃省交通职业术学院.doc
- 甘肃省政务专网入方案.doc
- 生产岗位责任制602.doc
- 生产洁净区微生监测标准操作程序.doc
- 生产现场6S管工作检查办法及考核标准.doc
- 生产现场でよくう中国语の単语.doc
- 生产管理信息系实用化评价指标(试行).doc
- 生产系统绩效管体系.doc
- 生产线上运输升机的自动化设计正文.doc
- 2024年中级银行从业资格之中级银行管理高分通关题型题库附解析答案.pdf
- 2024年五年级语文上学期月考考试北师大版 .pdf
- 2024年MPPO项目调研分析报告 .pdf
- 2024年上海市普通高中学业水平考试6月合格性考试生物仿真模拟卷03含详解.pdf
- 2024学年初中数学单元培优提升题型练习(人教版)(原卷版) .pdf
- 2024学年九年级下学期3月月考数学试题(无答案) .pdf
- 2024届浙江省台州市高三下学期4月教学质量评估物理试题 .pdf
- 2024届四川省成都经开区实验中学高三六校第一次联考生物试卷含解析.pdf
- 2024届江苏省徐州市语文八下期末学业水平测试试题含解析 .pdf
- 2024年书香伴我成长演讲稿范例(四篇) .pdf
文档评论(0)