资源简介
Socket实现文件上传下载,包含服务器和客户端实现,服务店采用多线程实现

代码片段和文件信息
#include
#include //windows socket的头文件
#include
#include
#include
#include
#pragma comment(lib “ws2_32.lib“) //连接winsock2.h的静态库文件
using namespace std;
int main()
{
//加载winsock库
WSADATA wsadata;
WSAStartup(MAKEWORD(2 3) &wsadata);
//客户端socket
SOCKET clientSock = socket(PF_INET SOCK_STREAM 0);
//初始化socket信息
sockaddr_in clientAddr;
memset(&clientAddr 0 sizeof(SOCKADDR));
//clientAddr.sin_addr.s_addr = htonl(INADDR_ANY);
clientAddr.sin_addr.s_addr = inet_addr(“127.0.0.1“);
clientAddr.sin_family = PF_INET;
clientAddr.sin_port = htons(2017);
//建立连接
int net = connect(clientSock (SOCKADDR*)&clientAddr sizeof(SOCKADDR));
if (net == -1)
{
cout << “连接失败,请检查服务器。“ << endl;
return -1;
}else{
cout << “已建立连接。“ << endl;
}
/*
char* s = new char[100];
cout << “请输入你要发送的文字消息: “;
cin >> s;
send(clientSock s strlen(s)*sizeof(char) + 1 NULL);
cout << “已发送:“ << s << endl;
*/
char Buffer[MAXBYTE] = { 0 }; // 文件缓冲区
char* wb_file = “D:\\111.GTB4“; //写入的文件
FILE *fp = fopen(wb_file “wb“);
if (fp == NULL)
{
cout << “操作文件时出错“ << endl;
system(“pause“);
}
else
{
memset(&Buffer 0 MAXBYTE);
int size = 0;
//当成功接收文件(size > 0)时,判断写入的时候文件长度是否等于接收的长度
while ((size = recvfrom(clientSock Buffer MAXBYTE 0 0 0)))
{
cout << size << endl;
if (size > 0)
{
if (fwrite(Buffer sizeof(char) size fp) < size)
{
cout << “写入出错,部分文件缺失。“ << endl;
}
//清空缓存区以便下一次接收
memset(&Buffer 0 MAXBYTE);
} else if ((0 == size) || (-1 == size))
{
break;
}
}
cout << “接收完成“ << endl;
fclose(fp);
}
closesocket(clientSock);
WSACleanup();
cout << “客户端连接已关闭。“ << endl;
system(“pause“);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32256 2018-11-16 16:26 SocketDemo\Client\64D\debug\Client.exe
文件 638 2018-11-16 16:26 SocketDemo\Client\64D\debug\Client.exe.em
文件 100 2018-11-16 16:26 SocketDemo\Client\64D\debug\Client.exe_manifest.rc
文件 704 2018-11-16 01:15 SocketDemo\Client\64D\debug\Client.exe_manifest.res
文件 677896 2018-11-16 16:26 SocketDemo\Client\64D\debug\Client.ilk
文件 1028096 2018-11-16 16:26 SocketDemo\Client\64D\debug\client.pdb
文件 89043 2018-11-16 16:26 SocketDemo\Client\64D\debug\main.obj
文件 23909 2018-11-16 01:30 SocketDemo\Client\64D\Makefile
文件 19065 2018-11-16 01:30 SocketDemo\Client\64D\Makefile.Debug
文件 18120 2018-11-16 01:30 SocketDemo\Client\64D\Makefile.Release
文件 907 2018-11-16 01:21 SocketDemo\Client\Client.pro
文件 23965 2018-11-16 16:33 SocketDemo\Client\Client.pro.user
文件 2339 2018-11-16 16:25 SocketDemo\Client\main.cpp
文件 120181 2018-11-16 15:18 SocketDemo\Server\64D\debug\main.obj
文件 51712 2018-11-16 15:18 SocketDemo\Server\64D\debug\Server.exe
文件 638 2018-11-16 15:18 SocketDemo\Server\64D\debug\Server.exe.em
文件 100 2018-11-16 15:18 SocketDemo\Server\64D\debug\Server.exe_manifest.rc
文件 704 2018-11-16 01:14 SocketDemo\Server\64D\debug\Server.exe_manifest.res
文件 728032 2018-11-16 15:18 SocketDemo\Server\64D\debug\Server.ilk
文件 1118208 2018-11-16 15:18 SocketDemo\Server\64D\debug\server.pdb
文件 23909 2018-11-16 01:17 SocketDemo\Server\64D\Makefile
文件 19065 2018-11-16 01:17 SocketDemo\Server\64D\Makefile.Debug
文件 18120 2018-11-16 01:17 SocketDemo\Server\64D\Makefile.Release
文件 4067 2018-11-16 09:30 SocketDemo\Server\main.cpp
文件 907 2018-11-16 01:13 SocketDemo\Server\Server.pro
文件 23965 2018-11-16 19:28 SocketDemo\Server\Server.pro.user
目录 0 2018-11-16 16:26 SocketDemo\Client\64D\debug
目录 0 2018-11-16 01:15 SocketDemo\Client\64D\release
目录 0 2018-11-16 15:18 SocketDemo\Server\64D\debug
目录 0 2018-11-16 01:14 SocketDemo\Server\64D\release
............此处省略8个文件信息
相关资源
- Borland Socket Server Fix2.0 D7
- Borland Socket Server程序 包含D6和D7源码
- 通信软件的具体实例──基于Socket的
- 用Socket编程实现FTP
- websocket实现一对一聊天
- linux下的发包工具sendip
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- SOCKET 网络编程 计算机网络 作业 客户
- linux 网络实验 ftp程序
- 用Socket写的简易FTP服务器和客户端
- socket小工具(可方便建立TCP UDP的soc
- socket客户端源码
- 基于CSocket的多人聊天室
- socket文件传输源码
- Socket自制系统
- HP用SOCKET实现(客户端---服务端)
- zeromq的windows版本安装包
- STM32分别以串口硬件SPI模拟并口驱动
- 《TCP/IP:协议分析与应用编程》课后
- linux下基于socket和curses的双人弹球游戏
- 计算机网络socket编程实验
- linux下socket can 编程详解
- FANUC机器人Socket Message通讯设置及使用
- Delphi简单实现局域网远程开机
- 易语言websocket服务器源码
- websocket规范 RFC6455 中文版
- 富士康H61S主板最新BIOS,支持22NCPU
- Socket-UDP整合消息接收,发送
- websocket-rtsp-proxy-test.zip
- 基于QTsocket的局域网聊天室
评论
共有 条评论