socket编程实验分析报告.docVIP

  • 16
  • 0
  • 约1.25万字
  • 约 20页
  • 2019-09-28 发布于江苏
  • 举报
socket编程实验报告 PAGE PAGE 1 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 计算机网络实验 题目:Socket编程 实验1 基于UDP的Socket编程 实验2 基于TCP的Socket编程 姓名: 学号: 学院: 年级: 实验时间: 目录 TOC \o 1-3 \h \u 一、实验内容: 3 实验1 基于UDP的Socket编程 3 实验2 基于TCP的Socket编程 3 二、 程序设计 3 1 基于UDP的Socket编程 3 1.1 实验原理:基于UDP协议的无连接C/S的工作流程 3 1.2 实现方案和实验结果 4 1.2.1 方案1:Linux上两个进程间的通信 4 方案1实现方案 4 方案1实验结果 4 1.2.2 方案2:Windows主机(client)和Linux虚拟机(server)之间的进程通信 6 方案2实现方案 6 方案2实验结果 6 2 基于TCP的Socket编程 7 2.1 实验原理:基于TCP协议的面向C/S的工作流程 7 2.2 实现方案 8 2.3 实验结果 9 三、讨论与心得 10 四、源代码 12 一、实验内容: 本单元实验包括的实验项目主要是UDP Socket编程和TCP Socket编程。本单元实验的主要目的是希望通过本单元实验,让学员掌握Socket编程方法,同时通过本单元实验让学生掌握如何开发基于TCP/IP协议的网络应用。 实验1 基于UDP的Socket编程 实验目的:通过本实验使学员了解和掌握编写基于UDP协议的网络应用程序。 实验内容:编写基于UDP协议网络聊天程序,要求发送程序和接收程序能够接收键盘输入并彼此之间相互发送数据。 实验步骤: 1.编写server端程序; 2.编写client端程序; 3.client程序与server程序联调; 4.client程序与server程序相互通信。 实验2 基于TCP的Socket编程 实验目的:通过本实验使学员了解和掌握编写基于TCP协议的网络应用程序。 实验内容:编写基于TCP协议网络聊天程序,要求发送程序和接收程序能够接收键盘输入并彼此之间相互发送数据。 实验步骤同UDP实验。 程序设计 1 基于UDP的Socket编程 1.1 实验原理:基于UDP协议的无连接C/S的工作流程 在server端,server首先启动,调用socket( )创建套接字,然后调用bind( )绑定server的地址(IP+port),调用recvfrom( )等待接收数据。 在client端,先调用socket()创建套接字,调用sendto( )向server发送数据。 server接收到client发来数据后,调用sendto( )向client发送应答数据,client调用recv接收server发来的应答数据。数据传输结束,server和client通过调用close( )关闭套接字。 原理图如图1。 图1 UDP通信原理图 1.2 实现方案和实验结果 1.2.1 方案1:Linux上两个进程间的通信 方案1实现方案 server端: 首先调用socket函数创建一个socket,然后调用bind函数将其与本机地址以及一个本地端口号绑定,用recvfrom函数接收到一个client端的消息后,用printf打印出来,server从标准输入设备中取得一行字符串后,调用sendto函数发送给client端。最后用close关闭该socket。 client机端: 首先调用socket函数创建一个socket,初始化server地址及端口号(实际上就是本机),从标准输入设备中取得字符串,用sendto传送给server端,然后用recv函数接收server端发来的字符串,用printf打印出来。最后用close关闭该socket。 源代码见附录。 方案1实验结果 server和client通信截图 图2 UDPserver 图3 UDPClient 1.2.2 方案2:Windows主机(client)和Linux虚拟机(server)之间的进程通信 方案2实现方案 利用Vmware station的Linux虚拟机与Windows本机之间的局域网进行

文档评论(0)

1亿VIP精品文档

相关文档