好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

}

//回传欢迎消息 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、

问题陈述 背景知识 动机

你所做的工作 系统描述

打算进行的工作或改进

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

}//回传欢迎消息if(!server->WelcomeInfo(sAccept))break;//设置ftp根目录if(!SetCurrentDirectory(server->m_Directory))break;4.创建一个新的SOCKET_INF结构处理接受的数据socket.<
推荐度:
点击下载文档文档为doc格式
27fku66z811is530855j3blzb1bwa600hri
领取福利

微信扫码领取福利

微信扫码分享