Lab1拓展试验-多client实验报告.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华中科技大学 电子与信息工程系实验报告 - PAGE 6 - - PAGE 1 - 实 验 报 告 实验名称 Lab1拓展试验-多client 课程名称 计算机网络 实验目的 目的: 1.掌握网络应用程序的开发方法; 2.掌握Client/ Server 结构软件的设计与开发方法 3.掌握Socket 机制的工作原理 要求完成: 1. command‐line‐based, no GUI required 2. c or c++ socket programming 3. being tested by multiple computers (已经完成基本实验,这是拓展试验的要求) 实验环境 运行在win7操作系统下,用Visual Studio2010编程,在自己的笔记本上用本机的IP()进行实验测试 实验内容与结果 软件编程类实验报告内容: (1)程序整体功能 服务器端接受并转发来自客户端的消息给指定客户端; 客户端通过服务器向指定客户端发送消息,并接受其他客户端通过服务器转发的消息。 (2)程序组成及各模块/函数功能; 程序由两个项目组成:server和client。 server:由main函数和GraceClose函数组成 main函数是server的主线程,完成server对client的接受和转发流程。 GraceClose函数用于关闭socket连接并回收资源。 client:由main函数和GraceClose函数组成 main函数是client的主线程,完成client对server的接受和发送流程。 GraceClose函数用于关闭socket连接并回收资源。 (3)重要的数据结构,模块/函数算法; 主要采用的数据结构: SOCKET套接字; fd_set集合; typedef listSOCKET SocketList; typedef listSOCKET::iterator SocketListIterator; 重要模块: Client: 连接模块:采用非阻塞方式连接服务器,循环connect; 发送模块:输入将要发送的客户端的序号以及内容,拼接后发送给服务器端; 接受模块:非阻塞方式接收。 Server: 连接模块:循环接受来自客户端的连接,并将新建的套接字加入 接受模块:将来自客户端的信息解析,分离出目的客户端的序号和正文数据; 发送模块:在SocketList中找到目的客户端的套接字,并将剩下的正文信息发送给该客户端; (4)程序清单(手写或者打印后作为附件) server.cpp client.cpp (见附件) (5)程序的运行和测试结果(提供截图) 测试过程: 打开了一个sever端,三个client端(client0,client1,cient2); Server:负责接收和转发; Client 0: 发送目的client 输入 信息来源client 接收 2 hello,2! 无 无 1 where_are_you? 1 Are_you_client0? Client 1: 发送目的client 输入 信息来源client 接收 0 Are_you_client0? 2 hi,Im_client2! 0 hahaha 0 where_are_you? Client 2: 发送目的client 输入 信息来源client 接收 1 hi,Im_client2! 0 hello,2! 测试结果: Server: Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\AdministratorE:\kejian\大三上课件\计算机网络\socket_1026 - 副本\Debug \server.exe Server began listening... Server accepted a connection. The socket is 0 Server accepted a connection. The socket is 1 Server accepted a connection. The socket is 2 [client 0] send hello,2! to [client 2] [client 2] send hi,Im_client2! to [client 1] [client 1] send Are_you_client0? to [client 0] [client 0] send where_are_you? to [client 1] [client 1] send hahaha to [client 0] Client

文档评论(0)

东山书苑 + 关注
实名认证
内容提供者

业务以学生学习成长为中心,为外语培训、中小学基础教育、学前教育,提供各种学习资料支持服务。

1亿VIP精品文档

相关文档