概述
FTP 服务器源代码:
#include "Winsock.h"
#include "windows.h"
#include "stdio.h"
#define RECV_PORT 200
#define SEND_PORT 3000
#pragma comment(lib, "wsock32.lib")
SOCKET sock,sock1,sockdir,sockput,sockget;
sockaddr_in ServerAddr;
sockaddr_in ClientAddr;
int Addrlen;//地址长度
char filename[20];//文件名
char order[10];//命令
char rbuff[1024];//接收缓冲区
char sbuff[1024];//发送缓冲区
//初始化winsock
DWORD StartSock()
{WSADATA WSAData;
if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0)
{printf("sock init fail!n");
return (-1);
}
return(1);
}
DWORD CreateSocket()
{
sock=socket(AF_INET,SOCK_STREAM,0);/* 建立套接字 */
if(sock==SOCKET_ERROR)
{
printf("sock create fail !n");
WSACleanup();
return(-1);
}
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_addr.s_addr=htonl(INADDR_ANY); /* 任意网络接口 */
ServerAddr.sin_port=htons(RECV_PORT);
if(bind(sock,(struct sockaddr FAR *)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)
{
printf("bind is the error");
return(-1);
}
return (1);
}
//发送文件
int SendFileRecord(SOCKET datatcps,WIN32_FIND_DATA *pfd)
//used to send response to client
{
char filerecord[MAX_PATH+32];
FILETIMEft;
FileTimeToLocalFileTime(&pfd->ftLastWriteTime,&ft);
SYSTEMTIME lastwtime;
FileTimeToSystemTime(&ft,&lastwtime);
char *dir=pfd->dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY?"
sprintf(filerecord,"%04d-%02d-%02d %02d:%02d %5s %10d %-40sn",
lastwtime.wYear,
lastwtime.wMonth,
lastwtime.wDay,
lastwtime.wHour,
lastwtime.wMinute,
dir,
pfd->nFileSizeLow,
pfd->cFileName);
if(send(datatcps,filerecord,strlen(filerecord),0)==SOCKET_ERROR)
{
printf("Error occurs when sending file list!n");
return 0;
}
return 1;
}
int SendFileList(SOCKET datatcps)
{
HANDLE hff;
WIN32_FIND_DATA fd;
//搜索文件
hff=FindFirstFile("*",&fd);
if(h
最后
以上就是忧心舞蹈为你收集整理的c语言ftp软件代码文档,FTP服务器客户端源代码C语言.pdf的全部内容,希望文章能够帮你解决c语言ftp软件代码文档,FTP服务器客户端源代码C语言.pdf所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复