资源简介
socket 编程实例 tcp 实现文件上传下载 可以刚换目录 上传 下载 还有暂停 退出 暂停还有点小问题

代码片段和文件信息
#include
#include
#include
#include
#pragma comment(lib “ws2_32.lib“)
#define SERVER_PORT 8080
#include
#include
#include
#include
#pragma comment(lib “ws2_32.lib“)
#define SERVER_PORT 8080
#define RECV_SIZE 102400
#define FILE_NAME_LEN 200
#define UPLOAD 1
#define DOWNLOAD 2
#define CHANGE_DIR 3
#define pause 4
#define CHANGE_DIR_CHAR ‘3‘
#define SLEEP_TIME 10
#define ERROR “error“
static int flag=0;
int pouse=1;
void print_start()
{
printf(“ plese choose the key \n“);
printf(“-----------------------------------------\n“);
printf(“| 1.upload data! |\n“);
printf(“| 2.download data! |\n“);
printf(“| 3.change directory! |\n“);
printf(“| 4.exit! |\n“);
printf(“-----------------------------------------\n“);
}
void print_select()
{
printf(“you can select :\n“);
printf(“p(pouse)\n“);
printf(“c(continue)\n“);
}
/*void select()
{
while( 1)
{
if(flag == 0)
{
flag = 1;
break;
}
scanf(“%s“ pouse);
if(strcmp(command “p“) == 0)
{
pouse=1;
//ResetEvent(event);
printf(“\npouse\n“);
}
else if(strcmp(command “c“) == 0)
{
pouse=0;
printf(“\ncontinue\n“);
//ReleaseSemaphore(event1NULL);
//SetEvent(event);
}
}
return;
}*/
void init()
{
WORD wVersionRequested;
WSADATA wsaData; //启动 Winsock
wVersionRequested = MAKEWORD(1 1); //定义版本号
if (WSAStartup(wVersionRequested &wsaData) != 0)//应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用进一步的Windows Sockets API函数.
{
printf(“fail to start up\n“);
return;
}
}
SOCKET builtSock()
{
SOCKET sock;
if ((sock = socket(AF_INET SOCK_STREAM IPPROTO_TCP)) == -1)
{
printf(“fail to build the socket\n“);
WSACleanup();//应用程序或DLL调用WSACleanup()将其从Windows Sockets中注销
return NULL;
}
else
return sock;
}
void connect(SOCKET sock)
{
char ip_add[FILE_NAME_LEN];
memset(ip_add 0 sizeof(ip_add));
strcpy(ip_add “127.0.0.1“);
//连接服务器
sockaddr_in server_addr;
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(SERVER_PORT);
server_addr.sin_addr.s_addr = inet_addr(ip_add);
if (connect(sock (sockaddr *)&server_addr sizeof(server_addr)) == -1)
{
printf(“fail to connect\n“);
WSACleanup();
return;
}
}
void reciveIp(SOCKET sock)
{
char temp[RECV_SIZE];
int recv_size = 0;
recv_size = recv(sock temp RECV_SIZE 0);
temp[recv_size] = ‘\0‘;
if (recv_size < RECV_SIZE)
{
temp[recv_size] = ‘\0‘;
printf(“receive content from server is: %s“ temp);
memset(temp 0 sizeof(temp));
}
else
{
printf(“receive content is overflow\n“);
}
}
void if_continue(SOCKET sockchar *ch)
{
bool yes_or_no = true;
char if_con
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11829 2011-03-21 14:44 tcp\client\client.cpp
文件 3405 2011-03-21 14:44 tcp\client\client.dsp
文件 537 2011-03-19 14:52 tcp\client\client.dsw
文件 41984 2011-03-21 14:44 tcp\client\client.ncb
文件 55808 2011-03-21 14:44 tcp\client\client.opt
文件 1466 2011-03-21 14:44 tcp\client\client.plg
文件 1926144 2011-03-21 14:44 tcp\client\Debug\client.bsc
文件 188505 2011-03-21 14:44 tcp\client\Debug\client.exe
文件 232228 2011-03-21 14:44 tcp\client\Debug\client.ilk
文件 32202 2011-03-21 14:44 tcp\client\Debug\client.obj
文件 4480276 2011-03-21 14:31 tcp\client\Debug\client.pch
文件 525312 2011-03-21 14:44 tcp\client\Debug\client.pdb
文件 0 2011-03-21 14:44 tcp\client\Debug\client.sbr
文件 148480 2011-03-21 14:44 tcp\client\Debug\vc60.idb
文件 77824 2011-03-21 14:44 tcp\client\Debug\vc60.pdb
文件 196697 2011-03-21 08:40 tcp\server\Debug\server.exe
文件 301832 2011-03-21 08:40 tcp\server\Debug\server.ilk
文件 27899 2011-03-21 08:40 tcp\server\Debug\server.obj
文件 3570676 2011-03-19 12:34 tcp\server\Debug\server.pch
文件 549888 2011-03-21 08:40 tcp\server\Debug\server.pdb
文件 140288 2011-03-21 14:17 tcp\server\Debug\vc60.idb
文件 77824 2011-03-21 08:40 tcp\server\Debug\vc60.pdb
文件 11134 2011-03-19 19:06 tcp\server\server.cpp
文件 3401 2011-03-21 13:40 tcp\server\server.dsp
文件 537 2011-03-21 13:52 tcp\server\server.dsw
文件 50176 2011-03-21 14:42 tcp\server\server.ncb
文件 53760 2011-03-21 14:42 tcp\server\server.opt
文件 246 2011-03-21 14:12 tcp\server\server.plg
目录 0 2011-03-21 14:44 tcp\client\Debug
目录 0 2011-03-21 08:40 tcp\server\Debug
............此处省略6个文件信息
- 上一篇:GT9xx 系列触摸资料
- 下一篇:国科大模式识别课后习题答案完整版
相关资源
- dotnet 写字板 实验 源代码 不好请要不
- python实现的ftp自动上传、下载脚本
- stm32 ds18b20 温度传感器 测试通过
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- QT 实现文件下载
- 30秒倒计时器完整版下载
- 430系列单片机USBFET下载驱动
- 傻瓜式的图片去水印下载
- 上传大文件并显示进度条控件实例
- 图像描述代码下载(里面是有代码的
- AT89S ISP下载编程软件(串口)
- 通过webservice上传和下载文件
- 解决WPE进不了游戏的最佳方法(闭屏
- 清除grub启动项工具MbrFix下载
- AJAX下载
- 图片上传组件v1.0
- 汉语大词典光盘版
- 十六进制数相加校验和计算程序
- 45首mid背景音乐免费
- 制作迅雷 链接生成器
- 关于Spring MVC项目maven中通过fileupload上
- 网站克隆整站复制仿站镜像拷贝工具
- springboot+mybatis整合实现注册登录
- 微软常用运行库合集 2019.04.24地址
- 目前最好最准确的缠论分笔分段指标
- Intel 845GL/G/GE/GV/865G/915G显卡驱动 v14.
- cropper.js h5裁剪上传图片 代码齐整
- 番茄工作法(pomotime)PowerPoint.rar
- 电信物联网NB-lot上传编解码插件检测
- 海康摄像头+web3.0开发包SDK的demo
评论
共有 条评论