计算机网络课设代码+报告


本课程设计在Windows下用C/C++语言和socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c)。包含了TCP/IP协议基本通信原理,Winsock编程基本原理以及FTP工作原理。正文部分是程序设计的具体内容及其源代码,最后是报告反思及总结。
资源截图
代码片段和文件信息
#include “client.h“
#include “ui_client.h“
#include “Winsock.h“
#include “windows.h“
#include “stdio.h“
#include “time.h“
#include 
#include 
using namespace std;
#define RECV_PORT 3312
#define SEND_PORT 4302
#pragma comment(lib “wsock32.lib“)


Client::Client(QWidget *parent) :
    QMainWindow(parent)
    ui(new Ui::Client)
{
    ui->setupUi(this);

//    ui->lbl_Message->setGeometry(QRect(32824032927*4));
//    ui->lbl_Message->setWordWrap(true);
//    ui->lbl_Message->setAlignment(Qt::AlignTop);     //label 自适应大小并换行
    QPalette palette;
    palette.setBrush(/*QPalette::Background*/this->backgroundRole()QBrush(QPixmap(“:/image/1jpg.jpg“)));
    this->setPalette(palette);                      //设置背景图片

    help();
    qDebug(“请输入要连接的IP地址“);
//    mainslot();
}

Client::~Client()
{
    delete ui;
}

void Client::help()  //操作说明
{
    qDebug() << “                         欢迎进入迷你FTP帮助菜单              “ << endl
            << “                  * * * * * * * * * * * * * * * * * * * * *       “ << endl
            << “                  *1.get....................下载(接受)文件*       “ << endl
            << “                  *get的用法: get 文件名                  *       “ << endl
            << “                  *2.put....................上传(发送)文件*       “ << endl
            << “                  *put的用法:put 文件名                  *       “ << endl
            << “                  *3.pwd..........显示当前文件夹的绝对路径*       “ << endl
            << “                  *4.dir............显示远方当前目录的文件*       “ << endl
            << “                  *5.cd.............改变远方当前目录和路径*       “ << endl
            << “                  *cd的用法(进入下级目录): cd 路径名      *       “ << endl
            << “                  *cd的用法(进入上级目录): cd ..          *       “ << endl
            << “                  *6.?或者help................进入帮助菜单*       “ << endl
            << “                  *7.quit..........................退出FTP*       “ << endl
            << “                  * * * * * * * * * * * * * * * * * * * * *       “ << endl;


}

void Client::list(SOCKET sockfd)
{
    int nRead;
    while (true)
    {
        nRead = recv(sockclient rbuff 1024 0);
        //recv函数通过sockclient套接口接受数据存入rbuff缓冲区,返回接受到的字节数
        if (nRead == SOCKET_ERROR)
        {
//            ui->lbl_Message->setText(“read response error!
“);
            exit(1);
        }
        if (nRead == 0)//数据读取结束
            break;
        //显示数据
        rbuff[nRead] = ‘‘;
//        ui->lbl_Message->setText( rbuff);
    }
}

int Client::SendFile(SOCKET datatcps FILE* file)//发送文件,处理put命令
{
//     ui->lbl_Message->setText(“ sending file data..“);
     qDebug(“ sending file data..“);
    for (;;)  //从文件中循环读取数据并发送客户端
    {
        int r = fread(sbuff 1 1024 file);//fread函数从file文件读取1个1024长度的数据到sbuff,返回成功读取的元素个数
        if (send(datatcps sbuff r 0) == SOCKET_ERROR)
        {
//             ui->lbl_Message

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9490  2017-06-07 11:25  计算机网络课设代码+报告代码clientclient.cpp

     文件        996  2017-06-01 19:32  计算机网络课设代码+报告代码clientclient.h

     文件        433  2017-06-01 16:49  计算机网络课设代码+报告代码clientclient.pro

     文件      23824  2017-06-07 17:31  计算机网络课设代码+报告代码clientclient.pro.user

     文件       9199  2017-06-07 11:25  计算机网络课设代码+报告代码clientclient.ui

     文件     285805  2017-06-01 16:20  计算机网络课设代码+报告代码clientimage1jpg.jpg

     文件      11281  2017-06-01 16:20  计算机网络课设代码+报告代码clientimage2.jpg

     文件      12229  2017-06-01 16:21  计算机网络课设代码+报告代码clientimage3.jpg

     文件      38056  2017-06-01 16:21  计算机网络课设代码+报告代码clientimage4.jpg

     文件      51665  2017-06-01 16:21  计算机网络课设代码+报告代码clientimage5.jpg

     文件      32600  2017-06-01 16:22  计算机网络课设代码+报告代码clientimage6.jpg

     文件        502  2017-06-02 15:20  计算机网络课设代码+报告代码clientmain.cpp

     文件        268  2017-06-01 16:50  计算机网络课设代码+报告代码client
esource.qrc

     文件      72704  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientDebugFTPClient.exe

     文件     409332  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientDebugFTPClient.ilk

     文件     921600  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientDebugFTPClient.pdb

     文件       7065  2017-06-08 13:51  计算机网络课设代码+报告代码FTPClientFTPClientclient.cpp

     文件     170693  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugclient.obj

     文件        685  2017-09-08 16:53  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.log

     文件       1602  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tlogcl.command.1.tlog

     文件      48572  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tlogCL.read.1.tlog

     文件        876  2017-09-08 16:53  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tlogCL.write.1.tlog

     文件        250  2017-09-08 16:53  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tlogFTPClient.lastbuildstate

     文件       2674  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tloglink.command.1.tlog

     文件       2926  2017-09-08 16:53  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tloglink.read.1.tlog

     文件        850  2017-09-08 16:53  计算机网络课设代码+报告代码FTPClientFTPClientDebugFTPClient.tloglink.write.1.tlog

     文件    1248256  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugvc120.idb

     文件     430080  2017-09-08 16:51  计算机网络课设代码+报告代码FTPClientFTPClientDebugvc120.pdb

     文件       4112  2017-06-08 13:53  计算机网络课设代码+报告代码FTPClientFTPClientFTPClient.vcxproj

     文件        947  2017-06-08 13:51  计算机网络课设代码+报告代码FTPClientFTPClientFTPClient.vcxproj.filters

............此处省略43个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)