(windows网络编程设计).docx

上传人:scccc 文档编号:13437093 上传时间:2021-12-25 格式:DOCX 页数:3 大小:21.28KB
返回 下载 相关 举报
(windows网络编程设计).docx_第1页
第1页 / 共3页
(windows网络编程设计).docx_第2页
第2页 / 共3页
(windows网络编程设计).docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《(windows网络编程设计).docx》由会员分享,可在线阅读,更多相关《(windows网络编程设计).docx(3页珍藏版)》请在三一文库上搜索。

1、(windows网络编程设计)Windows网络编程技术课程设计报告题目模拟FTP功能院 系:数学与计算机学院0904681125学生姓名:专业班级: 网络091 学 号:吴洋指导教师: 胡鸣2021年5月14日实验目的:为了使windows系统中的通用接口技术能够在网络环境中得以应用,也就是使得分布在不同主机上的进程间的通信就像读写本地文件那样进行的 话就需要构建新的复杂的进程间通信机制。另外,还由于进行网络操作的两个进程可能不 在同一机器上,进程间进行通信首先要建立他们之间的联系;其次因为网络协议具有多样 性,通信中如何建立一种通用机制支持多种协议是一种更大的挑战。关于网络间进程通信 的匚

2、作就是要建立一种包含广泛网络语义的程序接口,这种接口可以为网络应用编程提供 服务,作为进程通信界面成为开发网络应用软件的强有力工具。实验要求:理解windows环境支持的网络协议的特点;理解套接字的基本功能的作用;掌握基 本的套接字函数编程方法;功能简介:此实例完成模拟的FTP功能。服务器端在端口 2000处进行侦听,并处于等待连接状态。客户端试图和服务器连接,一旦建立连接,就可以在客户端和 服务器端进行文件传输(程序要求文件小于-32KB) °客户端输入要传输的文件名,服务器 接收到文件名后,将其写到相应的位置C设计思路:客户 服务器产生套接字Socket 0产生套接字Socket

3、 0地址与套接字连接bind。 地址与套接字连接bind。申请一个连接请求connect。网上信息进入监听状态listen O 等待接受请求accept ()网上信息个人负责程序段:(初始化套接字和创建套接字)DWORD StartSock0 WSADATA WSAData;创建windows 扩展套接字 数据对象 if(WSAStartup(MAKEW0IUX2,2),&WSAData)!=0) 初 始化 WINS0CK2. DLL 版本连接裤 printf ( return(T) ; ServerAddr. sin_family=AF_INET;设置默认地址协议ServerAddr

4、. sin_addr. s_addr二inet_addr (、设置服务器地址ServerAddr. sin_port=htons (RECV_P0RT);设置接收端口return(1); 创建套接字DWORD CreateSocket 0 sock=socket (AFNET, SOCK.STREAM, 0);使用套接字函数创建一个套接字并绑定协议。if(sock=SOCKET_ERROR) printf(WSACleanupO ; return (-1) ; return (1) ; 总程序代码:1.服务器#include#include#include#pragma comment(lib

5、, define RECV.PORT 2000 define SEND_PORT 3000define MAX_FILESIZE 32*1024SOCKET sock, sockl; sockaddr_in ServerAddr; sockaddr_in ClientAddr;struct Filedata char ffname1301; char ffdataMAX_FILESIZE; int len; DataPacket;int Addrlen;DWORD StartSock0 WSADATA WSAData;if(WSAStartup(MAKEWORD(2, 2), SWSAData

6、)!=0) printf( return(-1); return(1); DWORD CreateSocket 0 sock=socket (AFNET, SOCK_STREAM, 0);if(soc k=SOCKET_ERROR) printf ( WSACleanup 0; return(T); ServerAddr. sin_family=AF_INET;ServerAddr. sin_addr. s_addr=htonl(INADDR_ANY);ServerAddr. sin_port=htons(RECV_PORT); if(bind(sock, (struct sockaddr*)&ServerAddrt sizeof(struct sockaddr_in)=SOCKET_ERROR) printf( return (-1); return(1); DWORD WriteFile(char* fname, char* fdata,int flen) int i; FILE *fp; fp=fopen (fname, if(fp=NULL) printf(感谢您的阅读,祝您生活愉快。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1