#include <winsock2.h>
#include <stdio.h>
#include <stddef.h>
#define QUEUE_LEN 100
int main()
{
WSADATA wsaData;
WORD sockVersion=MAKEWORD(2,2);
int local_port;
SOCKET localtcpsocket;
struct sockaddr_in mysock_addr;
if(WSAStartup(sockVersion, &wsaData)!=0)
{
return -1;
}
printf("......Input local listen port!......\n");
scanf("%d", &local_port);
printf("......server listen......\n");
localtcpsocket = socket(AF_INET, SOCK_STREAM, 0);
if (INVALID_SOCKET == localtcpsocket)
{
printf("......invalid socket......\n");
return -1;
}
mysock_addr.sin_family = AF_INET;
mysock_addr.sin_port = htons(local_port);
mysock_addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
if (SOCKET_ERROR == bind(localtcpsocket, (const struct sockaddr_in *)&mysock_addr, sizeof(mysock_addr)))
{
printf("bind error\n");
return -1;
}
if (listen(localtcpsocket, QUEUE_LEN) < 0)
{
printf("listen error\n");
return -1;
}
while (1)
{
char buffer[10240];
SOCKET recvsoc;
struct sockaddr_in peerTcp;
int len;
recvsoc = accept(localtcpsocket,(const struct sockaddr_in *)&peerTcp, &len);
if (recvsoc <= 0)
{
printf("accept error\n");
continue;
}
printf("peer %s is connect to you\n", inet_ntoa(peerTcp.sin_addr));
if ( recv(recvsoc, buffer, sizeof(buffer), 0) <= 0)
{
printf("recv error, maybe time exceed!\n");
}
else
{
printf("%s\n", buffer);
}
}
WSACleanup();
return 0;
}
#include <WinSock.h>
#include <stdio.h>
#include <stddef.h>
#pragma comment(lib,"ws2_32.lib")
#define QUEUE_LEN 100
void Response2Client(SOCKET socket, struct sockaddr_in peerTcp);
int main()
{
WSADATA wsaData;
WORD sockVersion=MAKEWORD(2,2);
int local_port;
SOCKET localtcpsocket;
struct sockaddr_in mysock_addr;
if(WSAStartup(sockVersion,&wsaData)!=0)
{
return -1;
}
printf("......Input local listen port!......\n");
scanf("%d",&local_port);
printf("......server listen......\n");
localtcpsocket = socket(AF_INET,SOCK_STREAM,0);
if (INVALID_SOCKET == localtcpsocket)
{
printf("......invalid socket......\n");
return -1;
}
mysock_addr.sin_family = AF_INET;
mysock_addr.sin_port = htons(local_port);
mysock_addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
if ( SOCKET_ERROR == bind(localtcpsocket,(const struct sockaddr_in *)&mysock_addr,sizeof(mysock_addr)) )
{
printf("bind error\n");
return -1;
}
if (listen(localtcpsocket,QUEUE_LEN) < 0)
{
printf("listen error\n");
return -1;
}
while (1)
{
char buffer[10240];
SOCKET recvsoc;
struct sockaddr_in peerTcp;
int len;
recvsoc = accept(localtcpsocket,(const struct sockaddr_in *)&peerTcp,&len);
if (recvsoc <= 0)
{
printf("accept error\n");
continue;
}
if ( strcmp(inet_ntoa(peerTcp.sin_addr),"0.0.0.0"))
{
printf("peer %s is connect to you\n",inet_ntoa(peerTcp.sin_addr));
if ( recv(recvsoc,buffer,sizeof(buffer),0) <= 0)
{
printf("recv error,maybe time exceed!\n");
}
else
{
fprintf(stdout,"%s\n",buffer);
Response2Client(recvsoc, peerTcp);
}
}
}
WSACleanup();
return 0;
}
void Response2Client(SOCKET socket, struct sockaddr_in peerTcp)
{
char res[1024] = "HTTP/1.1 200 OK\r\nContent-Length:35\r\n\r\n<html><body>Hello wyj!<input type=\"submit\" value=\"send me inf\" size=\"20\"></body></html>";
send(socket,res,sizeof(res),0);
}
void getsize(char a[100])
{
printf("%d\n",sizeof(a));
return;
}
int main_test()
{
char ppp[]={0,0,0,0,0,0,0,0,0,0,0,0,3,'w','w','w',5,'b','a','i','d','u',3,'c','o','m',0,0,};
char *p = (char *)ppp + 12;
int temp = 0;
int first = 81;
while(*p != 0)
{
int i = 0;
if (!first)
{
printf(".");
}
temp = (int)*p;
p++;
for (;i<temp;i++)
{
printf("%c",p[i]);
}
p += temp;
first = 0;
}
return 0;
}
分享到:
相关推荐
系统临时文件和IE临时文件是计算机使用过程中不可避免的产物,它们在日常操作中扮演着重要角色,但也可能随着时间的推移占用大量磁盘空间,甚至成为隐私泄露的风险。因此,定期清理这些临时文件是保持系统运行高效且...
该系统主要是一个基于Web的临时文件上传和分享平台,它为用户提供了一个便捷的方式来存储和分享临时文件。系统的核心功能包括文件上传、存储管理和链接分享,适用于个人或团队间快速交换临时性文件。以下是对该系统...
在VB(Visual Basic)编程环境中,获取和处理临时文件是一项常见的任务,特别是在开发涉及数据存储、备份或系统恢复的应用程序时。临时文件通常用于存放临时数据,这些数据可能在程序运行过程中产生,但不需要长期...
在IT行业中,临时文件是操作系统或应用程序在执行过程中创建的临时性数据存储,它们通常用于存储中间结果、缓存信息或者在多步骤操作中传递数据。临时文件的保存位置是系统管理和优化工作流程的关键因素,因为正确...
《2023最新临时文件上传存储分享系统与临时文件网盘源码解析》 在当前信息化社会,数据传输和共享已经成为日常工作中不可或缺的一部分。针对这一需求,2023年的最新临时文件上传存储分享系统提供了高效且安全的解决...
【VS项目临时文件清理工具代码】是一个用于管理Visual Studio项目的实用工具,主要目的是帮助开发者清除在项目开发过程中生成的各种临时文件。这些临时文件包括编译过程中产生的中间文件、调试信息、输出日志等,...
在Java编程语言中,创建多个临时文件是常见的需求,特别是在测试、数据处理或者临时存储一些信息时。要实现这个功能,我们需要使用Java的`java.io.File`类和`java.nio.file.Files`类提供的方法。接下来,我们将详细...
**VS项目临时文件清理工具详解** Visual Studio(简称VS)是一款强大的集成开发环境,用于创建各种类型的应用程序,包括Windows桌面应用、Web应用以及移动应用等。在开发过程中,VS会生成大量的临时文件以支持编译...
在Java和Tomcat的环境中,有时我们可能需要清理Tomcat服务器下的临时文件,这通常是出于优化性能、释放磁盘空间或解决某些问题的需要。Tomcat作为一款广泛使用的Java应用服务器,它会在运行过程中生成各种临时文件,...
在VB(Visual Basic)编程中,制作临时文件是一项常见的任务,尤其在处理数据存储、程序运行过程中的中间结果或者在需要避免对原始文件造成影响时。临时文件可以帮助开发者有效地管理程序资源,提高程序运行效率,并...
标题中的“快速清理系统垃圾及IE临时文件小工具”指的是一个专为用户设计的便捷工具,主要用于清理计算机中无用的系统垃圾文件和Internet Explorer浏览器的临时文件。这个工具简化了通常繁琐的手动清理过程,提高了...
11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)11.如何创建一个临时文件?(Visual C++编程 源代码)...
在Windows操作系统中,临时文件是系统和应用程序在运行过程中创建的一种特殊文件,它们通常用于存储中间数据、配置信息或缓存内容。这些文件虽然有助于提高系统性能,但随着时间的推移,它们可能会占用大量磁盘空间...
临时文件在计算机编程和系统操作中扮演着重要的角色。它们是程序运行时为了存储中间结果、配置信息或者缓存数据而创建的文件。通过分析这些临时文件,我们可以深入了解程序的运行机制、用户行为以及系统状态。 1. *...
在使用Windows XP的过程中,不同的应用程序都会或多或少地产生一些临时文件,Windows XP把这些临时文件存放在一个专门的文件夹中,时间一长,这个文件夹中的临时文件便会占用大量的硬盘空间。如果有一天你觉得硬盘...
在C++编程中,创建临时文件是一个常见的需求,特别是在处理数据、执行临时操作或测试时。临时文件可以避免对现有文件的意外修改,提供一种安全的存储方式。本篇文章将详细探讨如何在C++中创建临时文件,并通过示例...
在IT领域,尤其是在Web开发和部署的过程中,管理客户端的临时文件是至关重要的。这些临时文件主要是Web应用程序在运行时为了提高性能或者存储某些数据而创建的。本文将深入探讨删除Web客户端临时文件的方法,以及其...
在日常使用电脑的过程中,系统和应用程序会产生大量的临时文件,这些文件是系统运行过程中为了暂时存储数据而创建的。然而,随着时间的推移,这些临时文件可能会堆积,占用大量的硬盘空间,甚至可能导致系统运行变慢...
软件名称:批量清除Delphi临时文件 软件功能: 1.可选择某个目录,默认为本文件所在目录 2.[所有文件] 默认遍历该目录下所有文件 (含子目录) 3.[自定义] 支持自定义文件类型查找文件 (含子目录) 如:*.txt 多种类型...
《VC临时文件清理工具详解》 在编程领域,尤其是使用Visual C++进行开发时,会产生大量的临时文件。这些文件在开发过程中起到辅助作用,如编译缓存、调试信息等,但随着时间推移,它们会占用大量磁盘空间,有时甚至...