- 12
- 0
- 约2.59千字
- 约 5页
- 2017-08-20 发布于北京
- 举报
实验十四 用SOCKET进行客户端与服务器通信
一 实验目的
1、 了解基于 Socket 的 C/S 编程的概念 ;
2、 掌握使用 Socket 开发程序的方法 ;
3、 了解常见的 Socket 开发模式的使用。
二 实验内容
在指定平台下,基于 SOCKET 开发一个简单的 C/S 通讯程序,使服务器端和客户机端能分别接收对方发送的文本信息并 显示。首先运行服务器端程 序,在 DOS 窗口对 应的目录下面输入“javac TalkServer.java”,编译成功输入“java TalkServer”,然后再打开一个新的 DOS 窗口,输入“javac TalkClient.java”,编译成功输入“java TalkClient”,
注意,首先运行的应该是 Server 端,然后才是 Client 端,顺序不能颠倒。如果先运行 Client 程序,那么 Server 端将无法找到服务器,就会出现异常,如图所示。
三 实验环境与分组
1 任意 JAVA 编程环境,推荐 eclipse;
2 两个同学一组,修改上个实验的服务器程序,并进行通讯实验。
四 实验原理
1、 Socket 概述
Socket(套接字)是一种独立于协议的网络编程接口,在 OSI 模型中,主要集中于会话层和传输层。Socket 接口定义了许多函数或例程,程序员可以用它们来开发 TCP/IP 网络上的应用程序。
Socket 最早源于 Unix,是一种在进程之间交换数据的机制。这个进程可以是一台计算机上的进程,也可以是通过网络连接起来的不同计算机上的进程。一个 Socket 套接字是通讯的一端,并有唯一的标识与之对应。一个正在使用的 Socket 套接字都有它的类型和与其相关的进程。当一个 Socket 连接建立以后,就可以在两个终端间传送数据,并且这里的数据交换是双向的。当其中一个终端关闭了当前的Socket 连接后,整个连接也同时中断。
Socket 接口在网络软件的开发上得到了广泛的应用,并被推广在多个操作系统平台上。Windows Sockets 是一个编程接口,它是在伯克利大学开发的套接字接口(Berkeley Socket Library)的基础上定义的。它包括了一组扩展件,以充分利用 Microsoft Windows 消息驱动的特点。规范的 1.1 版是在 1993年 1 月发行的,2.2 版在 1996 年 5 月发行。Windows 2000 支持 Winsock 2.2 版。在 Winsock2 中,支持多个传输协议的原始套接字,重叠 I/O 模型、服务质量控制等。
2、 客户-服务器编程模型
网络应用的标准模型是客户-服务器模型(Client/Server 模型,简称 C/S 模型)。这是一个不对称的编程模型,通讯的双方扮演不同的角色:客户和服务器。
一般发起通讯请求的程序被称为客户端,用户一般是通过客户端软件来访问某种服务。客户端应用程序通过与服务器建立联系,发送请求,然后接收服务器返回的内容。服务器则一般是等待并处理客户请求的应用程序。服务器通常由系统执行,在系统生存期间一直存在,等待客户的请求,并且在接收到客户的请求后,根据请求向客户返回合适的内容。它们之间的通讯过程如图所示。
请求
响应
响应
请求
这种 C/S 的通讯模型用途十分广泛,现在的大多数的网络程序都使用了这种模型。在服务器端,根据服务器处理请求方式的不同,服务器可以分为两种类型:
循环服务器
这种模式在同一时间只能处理一个客户端的请求。服务器在接收到客户端的请求后进行处理,在处理完毕后才继续等待下一个请求的到来。如果在处理过程中有新的客户请求,将只能等待。这种模式通常只能用于处理速度较快、处理逻辑比较简单的服务器程序的开发,如 Linux 的事件服务器。
并发服务器
这种模式在同一时间可以处理多个请求,服务器会建立多个处理客户请求的进程或者线程,在服务器接收到一个客户请求后,将按照一定的算法选择或者创建一个进程或者线程来处理这个客户请求,而服务器可以立即返回等待下一个客户请求的到来。显然这种处理模式可以尽量避免单处理模式中的对客户请求响应不及时的问题,但是这种模式需要占用较多的 CPU 处理时间和较多的系统资源,
您可能关注的文档
- 采购过程和合同管理.doc
- 金点子提案活动的管理办法.doc
- 鉴赏文学作品艺术形象、表现手法、语言风格.doc
- 钢筋混凝土桥梁施工质量操纵要点.doc
- 铁总运[2015]51号“铁路电力安全工作规程补充规定”.doc
- 销售合同的管理解决的方案.doc
- 银行开展个人及企业业务 (3).doc
- 键盘快捷键及特殊符号表 (2).docx
- 长城和运河第1课时.doc
- 闭式定压罐_膨胀水箱竞标文件11.10.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 电商数据分析(微课版)课件全套 第1--10章 电商数据分析概述---数据分析报告与看板制作.pptx
- 异常子宫出血的护理查房.pptx
- 2025年中医执业医师个人工作计划范文.docx VIP
- 2024《中班幼儿饮食行为现状调查—以S幼儿园为例》12000字.docx VIP
- 2025年美容美发十年行业数据洞察报告.docx
- 护理交接班制度.pptx VIP
- 初中电学总复习初中电学总复习.doc VIP
- 北京邮电大学《机器学习》2023-2024学年期末试卷.doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 2024年锡林郭勒职业学院单招职业倾向性考试题库必考题.docx VIP
原创力文档

文档评论(0)