1 / 12
文档名称:

socket tcp udp协议.doc

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

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

socket tcp udp协议.doc

上传人:yzhlya 2016/6/13 文件大小:0 KB

下载得到文件列表

socket tcp udp协议.doc

相关文档

文档介绍

文档介绍:在 OSI 的各层所使用的协议: 1. 应用层: ,FTP,HTTP,DNS,SMTP,POP3 2. 传输层: TCP,UDP TCP: 面向连接的可靠的传输协议,通信前建立三次握手,握手成功后才能通信, 对数据准确性要求较高的场合使用, 如从网上载的安装文件, 不能缺少任何信息 UDP: 是无连接的在 OSI 的各层所使用的协议: 1. 应用层: ,FTP,HTTP,DNS,SMTP,POP3 2. 传输层: TCP,UDP TCP: 面向连接的可靠的传输协议,通信前建立三次握手,握手成功后才能通信,对数据准确性要求较高的场合使用,如从网上载的安装文件,不能缺少任何信息 UDP: 是无连接的,不可靠的传输协议,不需要建立连接,也没有重传和确认的机制,在实时性要求较高,但对数据准确度要求不是很高的场合使用,如视频会议,在线观看电影,当中丢失个别数据包并不影响整体的效果。 3. 网络层: IP 因为 OSI 七层结构较为复杂, 所以使用较多的是 TCP/IP 模型, 现在 TCP/IP 已经成为 Interne t 上通用的工业标准 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) 创建基于 TC P 协议的CS 程序的 Serve r 端所涉及的相关函数说明( 按使用的先后顺序排列): 1. int WSAStartup ( WORD wVersionRequested,LPWSADATA lpWSAData ): 作用是加载套接字库和进行套接字库的版本协商 a. 参数 wVersionRequested :用于指定准备加载的 Winsock 库的版本,高位字节指定所需要的 Winsock 库的副版本, 低位字节则是主版本, 可用 MAKEWORD(X,Y)( 其中,x 为高位字节, y 为低位字节) 方便获得

最近更新