基于TCP和UDP的Socket编程

基于TCP和UDP的Socket编程

ID:41037454

大小:46.50 KB

页数:13页

时间:2019-08-14

基于TCP和UDP的Socket编程_第1页
基于TCP和UDP的Socket编程_第2页
基于TCP和UDP的Socket编程_第3页
基于TCP和UDP的Socket编程_第4页
基于TCP和UDP的Socket编程_第5页
资源描述:

《基于TCP和UDP的Socket编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于TCP和UDP的Socket编程在OSI的各层所使用的协议:1.应用层:telnet,FTP,HTTP,DNS,SMTP,POP32.传输层:TCP,UDPTCP:面向连接的可靠的传输协议,通信前建立三次握手,握手成功后才能通信,对数据准确性要求较高的场合使用,如从网上载的安装文件,不能缺少任何信息UDP:是无连接的在OSI的各层所使用的协议:1.应用层:telnet,FTP,HTTP,DNS,SMTP,POP32.传输层:TCP,UDPTCP:面向连接的可靠的传输协议,通信前建立三次握手,握手成功后才能通信,对数据准确性要求较高的场合使用,如从网上载

2、的安装文件,不能缺少任何信息UDP:是无连接的,不可靠的传输协议,不需要建立连接,也没有重传和确认的机制,在实时性要求较高,但对数据准确度要求不是很高的场合使用,如视频会议,在线观看电影,当中丢失个别数据包并不影响整体的效果。3.网络层:IP因为OSI七层结构较为复杂,所以使用较多的是TCP/IP模型,现在TCP/IP已经成为Internet上通用的工业标准TCP/IP模型包括4个层次:应用层,传输层,网络层,网络接口端口:1.为了标识通信实体中进行通信的进程(应用程序),TCP/IP协议提出了协议端口的概念2.端口是一种抽象的软件结构(包括一些数据结构和

3、I/O缓冲区)。应用程序通过系统调用和某端口建立连接(binding)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出3.端口用一个整数型标识符来表示,即端口号。端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全独立的的两个软件模块,因此各自的端口号也相互独立4.端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务,例如,http使用80端口套接字(Socket)1.Socket的出现,使得程序员可以很方便的访问TCP/IP,从而开发各种网络应用的程序2.套

4、接字存在于通信区域中,通信区域也叫地址族,他是一个抽象的概念,主要用于通过套接字通信的进程的共有特性综合在一起。套接字通常只与同一个区域的套接字交换数据。套接字的类型1.流式套接字(SOCK_STREAM)提供面向连接的,可靠的数据传输服务,数据无差错,无重复的发送,且按发送的顺序接收,基于TCP协议2.数据保式套接字(SOCK_DGRAM)提供无连接的服务,数据包以独立包形式发送,不提供无错误的保证,数据可能丢失或重复,且接收顺序混乱,基于UDP协议基于TCP(面向连接)的Socket编程服务器端顺序:1.加载套接字库2.创建套接字(socket)3.将

5、套接字绑定到一个本地地址和端口上(bind)4.将套接字设为监听模式,准备接收客户请求(listen)5.等待客户请求的到来;当请求带来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)6.用返回的套接字和客户端进行通信(send/recv)7.返回,等待另一个客户请求8.关闭套接字(closesocket)客户端程序:1.加载套接字库2.创建套接字(socket)3.向服务器发送连接请求(connect)4.和服务器端进行通信(send/receive)5.关闭套接字(closesocket)基于UDP(面向无连接)的socket编程服

6、务器端(接收端)程序:1.加载套接字库2.创建套接字(socket)3.将套接字绑定到一个本地地址和端口上(bind)4.等待接收数据(recvfrom)5.关闭套接字(closesocket)客户端(发送端)程序1.加载套接字库2.创建套接字(socket)3.向服务器发送数据(sendto)4.关闭套接字(closesocket)创建基于TCP协议的CS程序的Server端所涉及的相关函数说明(按使用的先后顺序排列):1.intWSAStartup(WORDwVersionRequested,LPWSADATAlpWSAData):作用是加载套接字库和

7、进行套接字库的版本协商a.参数wVersionRequested:用于指定准备加载的Winsock库的版本,高位字节指定所需要的Winsock库的副版本,低位字节则是主版本,可用MAKEWORD(X,Y)(其中,x为高位字节,y为低位字节)方便获得wVersionRequested的正确值。b.参数lpWSAData:指向WSADATA结构的指针,WSAStartup用其加载的库版本有关的信息填在这个结构中2.SOCKETsocket(intaf,inttype,intprotocol):a.参数af指定地址族,对于TCP/IP协议的套接字,它只能是AF_

8、INET(也可写成PF_INET)。b.参数type指定Socke

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。