linux环境SOCKET编程

linux环境SOCKET编程

ID:41033292

大小:181.00 KB

页数:25页

时间:2019-08-14

linux环境SOCKET编程_第1页
linux环境SOCKET编程_第2页
linux环境SOCKET编程_第3页
linux环境SOCKET编程_第4页
linux环境SOCKET编程_第5页
资源描述:

《linux环境SOCKET编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机网络互连课程设计报告题目:linux环境SOCKET编程实现多机通信学生姓名:何琼学号:151021069专业班级:计算机科学与技术02104班同组姓名:王春喜陈立志指导教师:熊齐设计时间:2005-11-18指导老师意见:评定成绩:签名:日期:摘要套接字Socket接口最早是在BSDUNIX上实现的,是应用最广泛的一套应用程序接口。在UNIX系统中,网络应用编程界面有两类:UNIX BSD的套接字(socket)和UNIX System V的TLI。由于Sun公司采用了支持TCP/IP的UNIX BSD操作系统,使TCP/IP的应用有更大的发展,其网络应用编程界面──套接字

2、(socket)在网络软件中被广泛应用,至今已引进微机操作系统DOS和Windows系统中,成为开发网络应用软件的强有力工具。 本设计是面向客户—服务器模型设计,针对客户和服务器提供不同的套接字操作。客户随机申请一个套接字号,服务器拥有全局公认的套接字号,任何客户可以向它发出连接请求和信息请求。关键字:套接字客户—服务器模型TCP/IPUNIX BSDLinux1课程设计目的和意义Linux以其源代码公开闻名于世,并以其稳定性和可靠性雄霸操作系统领域,在网络应用技术方面使用得更加广泛。很久以来它就是Windows的重要对手之一。随着网络时代的来临,Linux的这种优势已变得更加突出

3、。 随着网络技术的发展,网络结构已从过去的主机/终端型、对等型发展到现在广为使用的客户机/服务器型。客户机/服务器模型应用十分广泛,在Internet上WWW,E-mail,FTP等都是基于这种模型的。在面向连接的通信模式下,服务器打开监听端口,监听网络上其它客户机向该服务器发出的连接请求,当收到一个请求信号时与该客户机建立一个连接,之后两者进行交互式的通信在网络上,很多应用程序都使用TCP协议或UDP协议与其他机器上的应用程序进行通信。但是,在一台机器上,可能同时有多个应用程序在运行,那么,当目的机在收到数据后,怎么知道这些数据是发送给该机上的哪个应用程序的呢?为此,TCP/IP

4、协议中引进了端口(port)的概念,利用端口来区分应用程序,每个端口与一个应用程序相联系。每个端口有一个16位(二进制)的标识符,称为端口号。由于每个主机上的端口号是独立分配的,所以它不可能全局唯一。端口号与主机的IP地址合起来,就构成了套接字Socket,它能在全网范围内唯一标识某个主机的某个端口,也即套接字Socket能够唯一标识某个应用程序的位置。UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并

5、返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成后,用户进程关闭调用,通知操作系统已经完成了对某对象的使用。 在UNIX系统中,任何对I/O的操作都是通过读或写一个文件描述符来实现的。一个文件描述符只是一个简单的整形数值,它代表一个被打开的文件(这里的文件指广义的UNIX文件)。在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。客户/服务器模式的建立基

6、于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基与客户/服务器模式的TCP/IP。 客户/服务器模式过程中采取的是主动请求方式: 首先服务器方要先启动,并根据请求提供相应服务: 1. 打开一通信通道并告知本地主机,它愿意在某一公认地址上(周知口,如FTP为21)接收客户请求; 2. 等待客户请求到达该端口; 3.

7、 接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一新进程来处理这个客户请求(如UNIX系统中用fork、exec)。新进程处理此客户请求,并不需要对其它请求作出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。 4. 返回第二步,等待另一客户请求。 5. 关闭服务器 客户方: 1. 打开一通信通道,并连接到服务器所在主机的特定端口; 2. 向服务器发服务请求报文,等待并接收应答;继续提出请求...... 3. 请求结束后关闭通信通道并终

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

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

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