第一范文网 - 专业文章范例文档资料分享平台

[互联网]计算机网络课程设计任务书

来源:用户分享 时间:2025/5/28 17:52:34 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

//回传欢迎消息 if( !server->WelcomeInfo( sAccept ) ) break; //设置ftp根目录 if( !SetCurrentDirectory( server->m_Directory) ) break;

4.创建一个新的SOCKET_INF结构处理接受的数据socket.

if ((g_sockets[g_dwEventTotal] = (LPSOCKET_INF) GlobalAlloc(GPTR,sizeof(SOCKET_INF))) == NULL) {

printf(\错误:GlobalAlloc() failed with error %d\\n\ return 0; }

5.初始化新的SOCKET_INF结构

char buff[DATA_BUFSIZE]; memset( buff,0,DATA_BUFSIZE ); g_sockets[g_dwEventTotal]->wsaBuf.buf = buff;

g_sockets[g_dwEventTotal]->wsaBuf.len = DATA_BUFSIZE; g_sockets[g_dwEventTotal]->s = sAccept;

memset(&(g_sockets[g_dwEventTotal]->o),0, sizeof(OVERLAPPED)); g_sockets[g_dwEventTotal]->dwBytesSend = 0; g_sockets[g_dwEventTotal]->dwBytesRecv = 0;

g_sockets[g_dwEventTotal]->nStatus = WSA_RECV; // 接收

6.下载数据的有关代码

//已经有数据传递

if( pSI->nStatus == WSA_RECV ) {

……………..

{

if( !g_bLoggedIn ) { if( server->LoginIn(pSI) == LOGGED_IN ) g_bLoggedIn = TRUE; } else { if(server->DealCommand( pSI )==FTP_QUIT) continue; } // 缓冲区清除 memset( pSI->buffRecv,0,sizeof(pSI->buffRecv) ); pSI->dwBytesRecv = 0; } } else {

pSI->dwBytesSend += dwBytesTransferred; }

// 继续接收以后到来的数据 if(server->RecvReq( pSI ) == -1 ) return -1; }

return 0; }

………………………….

//接受数据

int CServer::RecvReq( LPSOCKET_INF pSI ) { static DWORD dwRecvBytes = 0; pSI->nStatus = WSA_RECV; }

…………

return 0;

7. 取得文件列表信息,并转换成字符串

BOOL bDetails = strstr(szCmd,\char buff[DATA_BUFSIZE];

UINT nStrLen = FileListToString( buff,sizeof(buff),bDetails); if( !bPasv )

………………

if( ReadFileToBuffer( szFile,buff, nFileSize ) == (DWORD)nFileSize )

{ // 处理Data FTP连接 Sleep( 10 ); if( bPasv ) { DataSend( sAccept,buff,nFileSize ); closesocket( sAccept ); }

…………………

(四)FTP服务器端运行后的界面

图3

上面得图是在添加用户名等,为了能下载自己的文件。端口设定为21是固定的。

下面的图是添加用户后在点击HESY用户和开始服务后所得界面。

图4

四、调试结果

在点击开始服务后就转到客户端运行所得界面上,然后点击CONNECT会连接到服务器端,会登陆到用户名以及所需要下载的文件。

图5

运行环境硬件环境:CPU的主频在200MHz以上、内存在64MB以上。

软件平台:操作系统为Windows 98/Me/NT/2000/XP(推荐使用Windows 2000/XP),调试环境为Visual C++ 6.0及其以上版本(如果不做说明,则默认为Visual C++ 6.0)。

程序流程

开始 连接FTP服务 得到要传输的文件 文件类表 是否存在传输记录 新增传输记录并保存 修改标识为异常 中断并保存 文件传输 断点续传 主要部分

图 是否被中断 删除该记录然后 保存传输清单 修改标识为中断,记录已传输字节数,并保存 结束

三、自选项目的项目报告

1、 2、 3、 4、 5、 6、

问题陈述 背景知识 动机

你所做的工作 系统描述

打算进行的工作或改进

搜索更多关于: [互联网]计算机网络课程设计任务书 的文档
[互联网]计算机网络课程设计任务书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c27fku66z811is530855j3blzb1bwa600hri_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top