好文档 - 专业文书写作范文服务资料分享网站

socket编程实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

姓名: 学院:

实验时间:

计算机网络实验

题目:Socket编程

实验1 基于UDP的Socket编程 实验2 基于TCP的Socket编程

学号:

年级:

目录

一、实验内容: ............................................................................................................................... 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

socket编程实验报告

姓名:学院:实验时间:计算机网络实验题目:Socket编程实验1基于UDP的Socket编程实验2基于TCP的Socket编程学号:年级:
推荐度:
点击下载文档文档为doc格式
55p1x9h1vj9epjw24kmh
领取福利

微信扫码领取福利

微信扫码分享