• 大小: 3.07MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: C/C++
  • 标签: ftp  socket  

资源简介

C语言实现的ftp 文件传输协议,包括文件上传 ,文件下载,查看目录 等功能,

资源截图

代码片段和文件信息

#include 
#include 
#include 
#pragma comment(lib“ws2_32.lib“)
#define DEFAULT_PORT        2302
#define DEFAULT_BUFFER      2048
#define DEFAULT_MESSAGE     “This is a test of the emergency \ broadcasting system“
char szServerip[128]          // Server to connect to
      szMessage[1024];        // Message to send to sever
int   iPort     = DEFAULT_PORT; // Port on server to connect to
//DWORD dwCount   = DEFAULT_COUNT; // Number of times to send message
BOOL bSendOnly = FALSE;         // Send data only; don‘t receive
int dirfun(SOCKET);
int getfun(SOCKETchar[]);
int putfun(SOCKETchar[]);
int pwdfun(SOCKET);
int cdfun(SOCKETchar[]);
int mdfun(SOCKETchar[]);
int delfun(SOCKETchar[]);
int usafun();
 
void usage()
{
    printf(“usage: client [-p:x] [-s:IP] [-n:x] [-o]\n\n“);
    printf(“       -p:x      Remote port to send to\n“);
    printf(“       -s:IP     Server‘s IP address or hostname\n“);
    printf(“       -n:x      Number of times to send message\n“);
    printf(“       -o        Send messages only; don‘t receive\n“);
    ExitProcess(1);
}
void ValidateArgs(int argc char **argv)
{
    int                i;
 
    for(i = 1; i < argc; i++)
    {
        if ((argv[i][0] == ‘-‘) || (argv[i][0] == ‘/‘))
        {
            switch (tolower(argv[i][1]))
            {
                case ‘p‘:        // Remote port
                    if (strlen(argv[i]) > 3)
                        iPort = atoi(&argv[i][3]);
                    break;
                case ‘s‘:       // Server
                    if (strlen(argv[i]) > 3)
                        strcpy(szServerip &argv[i][3]);
                    break;
                case ‘n‘:       // Number of times to send message
                    if (strlen(argv[i]) > 3)
                        //dwCount = atol(&argv[i][3]);
                    break;
               case ‘o‘:       // Only send message; don‘t receive
                    bSendOnly = TRUE;
                    break;
                default:
                    usage();
                    break;
            }
        }
    }
}
int main(int argc char **argv)
{
    WSADATA       wsd;
    SOCKET        sClient;
    char          szBuffer[DEFAULT_BUFFER];
    int           ret;
    //unsigned int           i;
     //int j;
    struct sockaddr_in server;
    struct hostent    *host = NULL;
     char choice[5]choice2[40];
    // Parse the command line and load Winsock
    //
     argv[1]=“-s:127.0.0.1“;
     strcpy(szServerip &argv[1][3]);
    //ValidateArgs(argc argv);
    if (WSAStartup(MAKEWORD(22) &wsd) != 0)
    {
        printf(“Failed to load Winsock library!\n“);
        return 1;
    }
    //strcpy(szMessage DEFAULT_MESSAGE);
    //
    // Create the socket and attempt to connect to the server
    //
    sClient = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
    if (sClient == INVALID_SOCKET)
    {
     

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

     文件     180275  2009-11-17 17:04  ftpserv\Debug\socketfile.exe

     文件     247640  2009-11-17 17:04  ftpserv\Debug\socketfile.ilk

     文件      38667  2009-11-17 17:04  ftpserv\Debug\socketfile.obj

     文件    3568884  2009-11-17 11:06  ftpserv\Debug\socketfile.pch

     文件     517120  2009-11-17 17:04  ftpserv\Debug\socketfile.pdb

     文件     140288  2009-11-18 08:16  ftpserv\Debug\vc60.idb

     文件      77824  2009-11-17 17:04  ftpserv\Debug\vc60.pdb

     文件      17961  2009-11-17 17:03  ftpserv\socketfile.cpp

     文件       4332  2009-11-17 13:10  ftpserv\socketfile.dsp

     文件        543  2009-11-17 11:05  ftpserv\socketfile.dsw

     文件      41984  2009-11-18 08:17  ftpserv\socketfile.ncb

     文件      53760  2009-11-18 08:17  ftpserv\socketfile.opt

     文件        254  2009-11-18 08:16  ftpserv\socketfile.plg

     文件         42  2009-11-17 17:22  ftpserv\test.txt

     文件      16947  2009-11-18 09:27  ftpcli\csocketfile.cpp

     文件       4338  2009-11-17 13:23  ftpcli\csocketfile.dsp

     文件        545  2009-11-17 13:11  ftpcli\csocketfile.dsw

     文件      41984  2009-11-18 09:37  ftpcli\csocketfile.ncb

     文件      61952  2009-11-18 09:37  ftpcli\csocketfile.opt

     文件       1299  2009-11-18 09:27  ftpcli\csocketfile.plg

     文件    1967104  2009-11-17 13:12  ftpcli\Debug\csocketfile.bsc

     文件     184373  2009-11-18 09:27  ftpcli\Debug\csocketfile.exe

     文件     254216  2009-11-18 09:27  ftpcli\Debug\csocketfile.ilk

     文件      40003  2009-11-18 09:27  ftpcli\Debug\csocketfile.obj

     文件    3636804  2009-11-17 13:16  ftpcli\Debug\csocketfile.pch

     文件     500736  2009-11-18 09:27  ftpcli\Debug\csocketfile.pdb

     文件     970137  2009-11-17 13:14  ftpcli\Debug\csocketfile.sbr

     文件     140288  2009-11-18 09:27  ftpcli\Debug\vc60.idb

     文件      77824  2009-11-18 09:27  ftpcli\Debug\vc60.pdb

     文件          0  2009-11-18 09:27  ftpcli\test.txt

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

评论

共有 条评论