加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
client.c 1.93 KB
一键复制 编辑 原始数据 按行查看 历史
胡宇彪 提交于 2019-09-02 20:22 . 文件传输实现的基本代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<getch.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include"tools.h"
#include"surver.h"
#include"client_cmd.h"
#include"tcp_client.h"
#include"udp_client.h"
int main()
{
//************************创建tcp_socket*************************//
int tcp_sockfd = creat_tcp_socket();
if(ERROR == tcp_sockfd)
{
perror("socket");
return ERROR;
}
//***********************绑定tcp连接*********************************//
SI tcp_addr = prepare_addr(AF_INET,htons(6666),inet_addr("172.20.10.3"));
socklen_t tcp_len = sizeof(tcp_addr);
if(connect(tcp_sockfd,(SA)&tcp_addr,tcp_len))
{
perror("tcp_bind");
return ERROR;
}
//************************创建udp_socket*************************//
int udp_sockfd = creat_udp_socket();
if(ERROR == udp_sockfd)
{
perror("udp_socket");
return ERROR;
}
//***********************准备udp地址*********************************//
SI udp_addr = prepare_addr(AF_INET,htons(3390),inet_addr("172.20.10.3"));
while(1)
{
system("clear");
printf("1.list\n");
printf("2.cd\n");
printf("3.mkdir\n");
printf("4.put tcp\n");
printf("5.get tcp\n");
printf("6.put udp\n");
printf("7.get udp\n");
printf("q.退出客户端\n");
switch(getch())
{
case '1':client_liet(tcp_sockfd,tcp_addr);break;
case '2':client_cd(tcp_sockfd,tcp_addr);break;
case '3':client_mkdir(tcp_sockfd,tcp_addr);break;
case '4':
put_tcp(tcp_sockfd,tcp_addr);
tcp_client_put(tcp_sockfd,tcp_addr);
break;
case '5':
get_tcp(tcp_sockfd,tcp_addr);
tcp_client_get(tcp_sockfd,tcp_addr);
break;
case '6':
put_udp(tcp_sockfd,tcp_addr);
udp_client_put(udp_sockfd,udp_addr);
break;
case '7':
get_udp(tcp_sockfd,tcp_addr);
udp_client_get(udp_sockfd,udp_addr);
break;
case 'q':return SUCCESS;
}
anyone_key();
}
//搜寻服务器
// surver();
return SUCCESS;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化