实验十四用socket进行客户与服务器通信

实验十四用socket进行客户与服务器通信

ID:34761517

大小:87.30 KB

页数:5页

时间:2019-03-10

实验十四用socket进行客户与服务器通信_第1页
实验十四用socket进行客户与服务器通信_第2页
实验十四用socket进行客户与服务器通信_第3页
实验十四用socket进行客户与服务器通信_第4页
实验十四用socket进行客户与服务器通信_第5页
资源描述:

《实验十四用socket进行客户与服务器通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验十四用SOCKET进行客户端与服务器通信一实验目的1、了解基于Socket的C/S编程的概念;2、掌握使用Socket开发程序的方法;3、了解常见的Socket开发模式的使用。二实验内容在指定平台下,基于SOCKET开发一个简单的C/S通讯程序,使服务器端和客户机端能分别接收对方发送的文本信息并显示。首先运行服务器端程序,在DOS窗口对应的目录下面输入“javacTalkServer.java”,编译成功输入“javaTalkServer”,然后再打开一个新的DOS窗口,输入“javacTalkClient.java”,编译成功输入“java

2、TalkClient”,注意,首先运行的应该是Server端,然后才是Client端,顺序不能颠倒。如果先运行Client程序,那么Server端将无法找到服务器,就会出现异常,如图所示。三实验环境与分组1任意JAVA编程环境,推荐eclipse;2两个同学一组,修改上个实验的服务器程序,并进行通讯实验。四实验原理1、Socket概述Socket(套接字)是一种独立于协议的网络编程接口,在OSI模型中,主要集中于会话层和传输层。Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。Socket最早源于Unix,

3、是一种在进程之间交换数据的机制。这个进程可以是一台计算机上的进程,也可以是通过网络连接起来的不同计算机上的进程。一个Socket套接字是通讯的一端,并有唯一的标识与之对应。一个正在使用的Socket套接字都有它的类型和与其相关的进程。当一个Socket连接建立以后,就可以在两个终端间传送数据,并且这里的数据交换是双向的。当其中一个终端关闭了当前的Socket连接后,整个连接也同时中断。Socket接口在网络软件的开发上得到了广泛的应用,并被推广在多个操作系统平台上。WindowsSockets是一个编程接口,它是在伯克利大学开发的套接字接口(Be

4、rkeleySocketLibrary)的基础上定义的。它包括了一组扩展件,以充分利用MicrosoftWindows消息驱动的特点。规范的1.1版是在1993年1月发行的,2.2版在1996年5月发行。Windows2000支持Winsock2.2版。在Winsock2中,支持多个传输协议的原始套接字,重叠I/O模型、服务质量控制等。2、客户-服务器编程模型网络应用的标准模型是客户-服务器模型(Client/Server模型,简称C/S模型)。这是一个不对称的编程模型,通讯的双方扮演不同的角色:客户和服务器。一般发起通讯请求的程序被称为客户端,

5、用户一般是通过客户端软件来访问某种服务。客户端应用程序通过与服务器建立联系,发送请求,然后接收服务器返回的内容。服务器则一般是等待并处理客户请求的应用程序。服务器通常由系统执行,在系统生存期间一直存在,等待客户的请求,并且在接收到客户的请求后,根据请求向客户返回合适的内容。它们之间的通讯过程如图所示。客户端客户端服务器请求响应响应请求这种C/S的通讯模型用途十分广泛,现在的大多数的网络程序都使用了这种模型。在服务器端,根据服务器处理请求方式的不同,服务器可以分为两种类型:1)循环服务器这种模式在同一时间只能处理一个客户端的请求。服务器在接收到客户

6、端的请求后进行处理,在处理完毕后才继续等待下一个请求的到来。如果在处理过程中有新的客户请求,将只能等待。这种模式通常只能用于处理速度较快、处理逻辑比较简单的服务器程序的开发,如Linux的事件服务器。2)并发服务器这种模式在同一时间可以处理多个请求,服务器会建立多个处理客户请求的进程或者线程,在服务器接收到一个客户请求后,将按照一定的算法选择或者创建一个进程或者线程来处理这个客户请求,而服务器可以立即返回等待下一个客户请求的到来。显然这种处理模式可以尽量避免单处理模式中的对客户请求响应不及时的问题,但是这种模式需要占用较多的CPU处理时间和较多的

7、系统资源,并且需要处理多个进程或者线程之间的通讯和数据共享,编程具有一定的复杂性。通常使用这种模式处理比较耗时或者对速度要求较高的服务,如文件传输服务(FTP)等。五实验步骤步骤一:需求分析这是一个简单的文本传输程序,客户端从标准输入(键盘)上输入文本后,发送到服务器,服务器将文本显示在标准输出(显示屏)上,反之同样操作。使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端监听某个端口是否有连接请求,Client端向Server端发出连接请求,Server端向Client端发回Accept(接受)信息,一个

8、连接就建立起来了。Server端和Client端都可以通过send()、write()等方法与对方通信。对于一个功能齐全的Socket,

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

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

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