网络编程实验四 Windows环境下文件传输.docVIP

网络编程实验四 Windows环境下文件传输.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天津理工大学实验报告 学院(系)名称: 计算机与通信工程学院 姓名 学号 专业 班级 教学 班 实验项目 Windows环境下文件传输 课程名称 网络编程 课程代码 实验时间 实验地点 批改意见 成绩 教师签字: 实验目的: 在Windows环境下进行Windows Sockets编程,简单了解winsock中的函数及其作用。实现Windown Socket下的文件传输,了解winsock编程的大致流程。 实验过程: //客户端 #include stdio.h #include stdlib.h #include string.h #include WinSock2.h #include winsock.h #include ws2tcpip.h #pragma comment(lib,ws2_32.lib) #define MAXLINE #define SERVERPORT 8888 #define SERVER int main(int argc, char * argv[]) { WSADATA wsaData; WORD socketVersion = MAKEWORD(2, 2); if(0 != WSAStartup(socketVersion, wsaData)){ printf(init WSAStartup error!\n); return 0; }; char recvbuff[MAXLINE + 1]; int sockfd, n; struct sockaddr_in servaddr; memset(servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(SERVERPORT); servaddr.sin_addr.s_addr = inet_addr(117.0.0.1); if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) 0){ printf(sockfd error!\n); exit(0); } if(connect(sockfd,(struct sockaddr *) servaddr, sizeof(struct sockaddr)) 0){ printf(connect error!\n); exit(0); } printf(输入要传输文件名称:\n); char filename[256]; scanf(%s, filename); FILE * fp = (FILE *)NULL; fp = fopen(filename, rb); if((FILE *)NULL == fp){ printf(Cant open file %s\n, filename); return 0; }; n = send(sockfd, filename, strlen(filename), 0); printf(send n = %d\n, n); n = recv(sockfd, recvbuff, MAXLINE, 0); recvbuff[n] = \0; printf(recv n = %d\n, n); if(strcmp(recvbuff, ok) == 0){ memset(recvbuff, 0, sizeof(recvbuff)); while(!feof(fp)){ n = fread(recvbuff, 1, 1000, fp); printf(%d\n, n); n = send(sockfd, recvbuff, n, 0); printf(send n = %d\n, n); } fclose(fp); } closesocket(sockfd); return 0; } //服务器端 #includestdio.h #includestdlib.h #includestring.h #includeWinSock2.h #define PORT 1111 #define MAXLINE 2048 #pragma comment(lib,ws2_32.lib) #define QueueLength 1 char buffer[MAXLINE+1]; int n; int main(int argc, char * argv[]) { struct sockaddr_

文档评论(0)

137****7707 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档