资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划socket通信实验报告姓名:学院:实验时间:计算机网络实验题目:Socket编程实验1基于UDP的Socket编程实验2基于TCP的Socket编程学号:年级:目录一、实验内容:.3实验1基于UDP的Socket编程.3实验2基于TCP的Socket编程.3二、程序设计.31基于UDP的Socket编程.3实验原理:基于UDP协议的无连接C/S的工作流程.3实现方案和实验结果.4方案1:Linux上两个进程间的通信.4方案1实现方案.4方案1实验结果.4方案2:Windows主机和Linux虚拟机之间的进程通信6方案2实现方案.6方案2实验结果.62基于TCP的Socket编程.7实验原理:基于TCP协议的面向C/S的工作流程.7实现方案.8实验结果.9三、讨论与心得.10四、源代码.12一、实验内容:本单元实验包括的实验项目主要是UDPSocket编程和TCPSocket编程。本单元实验的主要目的是希望通过本单元实验,让学员掌握Socket编程方法,同时通过本单元实验让学生掌握如何开发基于TCP/IP协议的网络应用。实验1基于UDP的Socket编程实验目的:通过本实验使学员了解和掌握编写基于UDP协议的网络应用程序。实验内容:编写基于UDP协议网络聊天程序,要求发送程序和接收程序能够接收键盘输入并彼此之间相互发送数据。实验步骤:1.编写server端程序;2.编写client端程序;程序与server程序联调;程序与server程序相互通信。实验2基于TCP的Socket编程实验目的:通过本实验使学员了解和掌握编写基于TCP协议的网络应用程序。实验内容:编写基于TCP协议网络聊天程序,要求发送程序和接收程序能够接收键盘输入并彼此之间相互发送数据。实验步骤同UDP实验。二、程序设计1基于UDP的Socket编程实验原理:基于UDP协议的无连接C/S的工作流程在server端,server首先启动,调用socket()创建套接字,然后调用bind()绑定server的地址,调用recvfrom()等待接收数据。在client端,先调用socket()创建套接字,调用sendto()向server发送数据。server接收到client发来数据后,调用sendto()向client发送应答数据,client调用recv接收server发来的应答数据。数据传输结束,server和client通过调用close()关闭套接字。原理图如图1。图1UDP通信原理图实现方案和实验结果方案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通信截图图2UDPserver图3UDPClient南昌大学实验报告-socket学生姓名:李亚军学号:专业班级:卓越计科121班设计创新实验日期:实验成绩:实验类型:验证综合进程通信实验一、实验目的理解Socket概念;理解并掌握Socket模型下获得本机IP信息的方法;掌握TCP服务器端和客户端连接与数据交换原理二、实验内容(1)编写程序实现linux与windows网络通信;(2)编写程序实现linux与windows传送文件三、实验步骤画出流程图该实验流程图如图所示:流程图编写代码/*/#include#include#include#include#include#include#defineHELLO_WORLD_SERVER_PORT12345#defineLENGTH_OF_LISTEN_QUEUE20#defineBUFFER_SIZE1024intmain(intargc,char*argv)structsockaddr_inserver_addr;intserver_socket;intopt=1;bzero(&server_addr,sizeof(server_addr);server_family=AF_INET;server_addr=htons(INADDR_ANY);server_port=htons(HELLO_WORLD_SERVER_PORT);/*createasocket*/server_socket=socket(PF_INET,SOCK_STREAM,0);if(server_socketELLO_WORLD_SERVER_PORT);exit(1);/*listenasocket*/if(listen(server_socket,LENGTH_OF_LISTEN_QUEUE)printf(ServerListenFailed!);exit(1);/*runserver*/while(1)structsockaddr_inclient_addr;intclient_socket;intret=0;socklen_tlength;charbufferBUFFER_SIZE;charsendbufferBUFFER_SIZE;/*acceptsocketfromclient*/length=sizeof(client_addr);client_socket=accept(server_socket,(structsockaddr*)&client_addr,&length);if(client_socket#include#include#include#include#include#include#include#include#include#include#defineUCHARunsignedcharstructBuffHeaderchar文件结束标志,1结束,0未结束FileHead,*pFileHead;intmain(intargc,char*argv)FILE*F
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号