Socket技术综述【文献综述】

Socket技术综述【文献综述】

ID:463866

大小:25.00 KB

页数:4页

时间:2017-08-05

Socket技术综述【文献综述】_第1页
Socket技术综述【文献综述】_第2页
Socket技术综述【文献综述】_第3页
Socket技术综述【文献综述】_第4页
资源描述:

《Socket技术综述【文献综述】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、毕业论文文献综述电子信息工程Socket技术综述摘要:在网络通信中,Socket套接字明确了发送端到达接收端的有效途径,在网络传输层上建立通信关系,实现数据交互的接口。由于网络通信的复杂性,在建立通信关系的前提下,必须引进线程机制处理通信细节,以便保证各节点通讯的独立和并发。在WindowsMobile设备上实现基于Socket的文件传输,必须深入理解线程的处理技巧,同时将其灵活运用到通信网络编程中,完成文件传输的功能。关键字:套接字;线程;网络通信1.引言Socket编程技术作为进程问通信的常用技术,以其能够灵活定制包

2、格式、灵活构造高效通信服务等优势成为构建基于TCP/IP协议的网络应用程序时最常用的开发技术之一。使用跨平台、电信级、IPV4和IPV6兼容的Socket通信框架,在开发基于Socket通信的网络应用程序时不必关心Socket通信部分的平台移植问题、Socket通信问题、IPV4与IPV6的兼容问题,而可以直接构造应用,从而大大加快开发进度。目前还没有一个具有上述功能的开放的框架可以被用来构建基于Socket通信的网络应用程序;而构建UDP服务器、TCP、TCP的长连接客户端往往成为构建Socket应用程序时的关键技术。

3、因此构建一个支持多个TCP和UDP服务器、多个TCP长连接客户端的跨平台、电信级、IPV4和IPV6兼容的Socket通信框架对于加快项目开发进度、降低代码平台移植难度都很有意义[1]。2.Socket技术Socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。生成套接字,主要有3个参数:使用的端口号,传输层协议(TCP/UDP)和通信的目的IP地址。通过将这3个参数结合起来,与一个socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应

4、用程序或网络的通信,实现数据传输的并发服务[2]。Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,它定义两台计算机间进行通信的规范(也是一种编程规范),如果说两台计算机是利用一个通道,那么这个通道的两端就是这个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能[3]。文献[4]提出Socket分为两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流套接字针对面向连接的TC

5、P服务应用,提供了双向的、有序的、无重复并且记录边界的数据流服务。数据报套接口对应于无连接的UDP服务应用,支持双向的数据流,但不保证是可靠、有序、无重复的。文献[5]指出:套接字接口(SocketInterface)是目前Linux上应用最广泛的一种进程间的通信机制。由于Socket本身不支持同步等待和超时处理,所以不能直接将其用于多进程间实时通信。Socket通信服务器采用预先创建线程的设计思路,为每个客户分配服务线程并保持客户端与服务器的连接状态,只在进程异常时断开连接状态。客户端的套接字及端口号保存于客户端信息表

6、中,服务器先将接收到的Socket消息压入队列,由发送线程统一完成消息的中转。对于读写客户端信息表的情况,可采用线程互斥机制保护读写操作。3.多线程技术多线程技术能很好地解决并发多任务问题,提高资源的利用率和系统的整体性能,因此计算机的各个领域都对其进行了研究,从不同角度实现或增强了对多线程的支持。多线程提供了一种把程序划分成若干独立部分的方式。Java的编程机制还可以把程序转换成彼此分离的,能独立运行的子任务。而线程就是这些独立的子任务。在基于线程的多任务处理环境中,线程是最小的执行单位,是进行并发编程的关键[6]。线

7、程是操作系统分配处理器时间的基本单位,是程序中一个单一的顺序控制流。合理地使用多线程技术,可以达到“宏观上并行,微观上串行”的执行效果,从而有效提高处理器的利用率[7]。传统操作系统中的单线程由进程控制块和用户地址空间、以及管理进程执行的调用/返回行为的系统堆栈或用户堆栈构成。如果把进程的管理和执行进行分离,进程作为操作系统中保护和资源分配的单位,允许一个进程中包含有多个可并发执行的控制流,这些控制流切换时不必通过进程调度,通信时可以直接借助于共享的内存区,这就是多线程[8]。文献[9]讲述了多线程的种类:多线程在实现方

8、式上可以分为用户级多线程、混合级多线程和内核级多线程。(1)用户级多线程(ULT):这种方式是用线程库的方式来实现并调度线程,是语言级的线程提供机制。(2)混合级多线程:在这种方式中,内核和用户级同时提供对多线程的支持,用户线程库调度用户线程映射到内核线程。核心调度内核线程运行,它是内核级多线程和用户级多线程的综合。

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

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

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