用socket实现网络实时通信.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

pab547 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档