win32 TCP网络文件传输服务器端1.23

简介:     #include#include#include#pragma comment(lib,"ws2_32.lib")#define PORT 6666#define IPADDR "127.
 


 

#include<windows.h>
#include<stdio.h>
#include<stdlib.h>

#pragma comment(lib,"ws2_32.lib")

#define PORT 6666
#define IPADDR "127.0.0.1"
#define BACKLOG 20

int main(void)
{

	WSADATA wsadata;
	WSAStartup(MAKEWORD(2,0),&wsadata);
	SOCKET sock_trans=socket(AF_INET,SOCK_STREAM,0);

	if (sock_trans<0)
	{

	perror("socket");
	exit(1);

	}

	SOCKADDR_IN saddr;
	saddr.sin_family=AF_INET;
	saddr.sin_port=htons(PORT);
	saddr.sin_addr.S_un.S_addr=inet_addr(IPADDR);

	int sadlen=sizeof(saddr);

	FILE* fp=NULL;
	fp=fopen("e://test.txt","w+");
	if(fp==NULL)
	{

	perror("open file:");
	exit(4);
	}

	if (bind(sock_trans,(SOCKADDR*)(&saddr),sadlen)==SOCKET_ERROR)
	{

	perror("bind:");
	exit(2);

	}
	else printf ("bind port ok!\n");

	//int vlisten=50;

	if (listen(sock_trans,20)==SOCKET_ERROR)

	{
	perror("listen");
	exit(3);
	}

	else
	printf ("now listenning.....\n");

	//printf ("%d",listen(sock_trans,20));

	int saddrlen=sizeof(saddr);

	SOCKET newsock=accept(sock_trans,(SOCKADDR*)&saddr,&saddrlen);

	printf ("catch file now....");
	char buf[1024]={0};
	ZeroMemory(buf,1024);

	int relen=0;

	//测试程序的酱油语句,无视之。

	//recv(newsock,buf,50,0);

	// printf ("%s",buf);

	// printf ("\nif put this line ,the program is error!");

	Sleep(3000);

	while(1)

	{

	relen=recv(newsock,buf,1024,0);

	fwrite(buf,1,relen,fp);
	printf("接受了一次!\n");


	fflush(fp);

	//ZeroMemory(buf,50);

	if (relen==0)

	{

	break;

	}
	printf("接受了%d次!\n",relen);

	}

	fclose(fp);

	closesocket(newsock);
	closesocket(sock_trans);
	WSACleanup();

	system("pause")

	return 0;

}


相关文章
|
10月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族是什么?不同规格CPU型号、处理器主频及网络性能参数均不同
阿里云ECS实例规格族是指具有不同性能特点和适用场景的实例类型集合。不同规格族如计算型c9i、通用算力型u1、经济型e等,在CPU型号、主频、网络性能、云盘IOPS等方面存在差异。即使CPU和内存配置相同,性能参数和价格也各不相同,适用于不同业务需求。
668 144
|
12月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
223 1
|
11月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
1825 0
|
11月前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
329 0
|
10月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
256 0
|
存储 安全 Linux
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
427 4
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
579 23
|
SQL 数据采集 人工智能
“服务器老被黑?那是你没上AI哨兵!”——聊聊基于AI的网络攻击检测那些事儿
“服务器老被黑?那是你没上AI哨兵!”——聊聊基于AI的网络攻击检测那些事儿
512 12
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
385 22