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;

}


相关文章
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
104 2
|
25天前
|
缓存 负载均衡 监控
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
60 2
|
2月前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
87 5
|
2月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
64 5
|
2月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
132 3
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
119 2
|
2月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
73 13
|
3月前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
72 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
2月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
886 2