搜档网
当前位置:搜档网 › 网络编程文件传输实验报告

网络编程文件传输实验报告

网络编程文件传输实验报告
网络编程文件传输实验报告

网络编程文件传输实验

报告

Revised as of 23 November 2020

基于

1、

2、sockets编程,

TCP协议是其中重要的传输协议,为应用层提供可靠的端到端的流传输服务.其中套接字取值sock_stream即为TCP的流传输服务

Windows socket包含了人们所熟悉的Berkeley Socket风格的函数库,也包含了一组针对windows的扩展库函数,以使程序员能充分的利用windows驱动消息机制进行编程。

Windows Sockets的规范本意在于提供给应用开发者一套简单的API,并让个网络应用软件开发商遵守该协议。此外在一个特定的版本windows基础上,Windows socket也定义了一个二进制借口(ABI),从此来保证Windows socket API应用程序

能够在任何符合Windows socket协议的实现上工作。

三、设计概述

1、创建套接字

服务进程和客户进程在实现通信前必须创建各自的套接字,然后才能用相应的套接字进行发送接收操作,服务进程总是先于客户端进程启动,服务器端进程和客户端进程创建套接字。Socket()函数实现代码如下:

SOCKET serSocket=socket(AF_INET,SOCK_STREAM,0);....\n");

....\n");

//得到主机开始传送消息

recv(clientSocket,receiveBuf,101,0);

printf("%s\n",receiveBuf);

if(strcmp(receiveBuf,"开始传送")==0)

{

//传送文件长度

char sendBuf[20];

ltoa(length,sendBuf,10);

send(clientSocket,sendBuf,21,0);

fseek(fp,0L,SEEK_SET);

//传送文件

long int y=0;

double cent;

char trans[SIZE];

while(!feof(fp))

{

fread(trans,1,SIZE,fp);

y=y+SIZE;

if(y

{

cent=(double)y*(double)length;

printf("已发送:%%\n",cent);

send(clientSocket,trans,SIZE+1,0); } else

{ send(clientSocket,trans,length+SIZE-y+1,0);

closesocket(clientSocket); WSACleanup(); } }

fclose(fp);}printf("文件发送完毕\n");system("pause");

}

四、实验结果及分析:

客户端运行结果

服务器端运行结果

五、心得体会:网络编程的实验课虽然只有八次,但是我们充分了解了各种网

络编程和winsock控件的知识,了解了TCP/IP协议的相关知识以及其中两个重要协议TCP UDP的特点与差异,进一步学习了文件传输等知识,创建套接字监听

传输关闭等过程,直到最后写出C/S模式的文件传输程序感觉我们巩固了教材

的内容实践的能力也得到了提高不足之处就是自己粗心大意,在写代码时候参

数注解等经常注明的不够好,希望以后能养成良好的编程习惯

相关主题