C++ 实现简单的Web服务器

#include <cstdio>
#include <WinSock2.h>
using namespace std;

#define BUFFER_SIZE 1024

// 自定义响应头 和 响应的HTML 常量
#define HEADER "\HTTP / 1.1 200 OK\r\n\Content-Type: text/html; charset=UTF-8\r\n\Server: xxxxx\r\n\Content-Length: % d\r\n\r %s"
#define HTML "\<html>\<head>\<title>HTML标题</title>\<head>\<body>\<h1>响应回去的HTML内容!</h1>\</body>\</html>"

#pragma comment(lib, "WS2_32")

int main(int argc, char** argv)
{
	// 定义并插入一个服务器sockaddr
	sockaddr_in addrServer;
	addrServer.sin_family = AF_INET;
	addrServer.sin_addr.S_un.S_addr = INADDR_ANY;
	addrServer.sin_port = htons(81);  // 定义启动的服务端口

	// 初始化 socket dll
	WSADATA wsaData;
	WORD socketVersion = MAKEWORD(2, 0);

	if (WSAStartup(socketVersion, &wsaData) != 0)
	{
		printf("初始化 socket dll 错误!");
		exit(1);
	}

	// create socket
	SOCKET socketServer = socket(AF_INET, SOCK_STREAM,
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
*** v3.1.1 更新 *** > 增加导出纯 C 函数的动态链接库 HPSocket4C.dll: ----------------- 1.增加代码文件 HPSocket4C.h 和 HPSocket4C.cpp,用于创建 HPSocket4C.dll 2.导出纯 C 函数,让其它语言(如:C/C#/Delphi 等)能方便地使用 HPSocket 3.HPSocket4C.dll 使用方法 方法一: ------------------------------------------------------------------------------ (0) (C/C++ 程序)包含 HPSocket4C.h 头文件 (1) 调用 ::Create_HP_XxxListener() 函数创建监听器对象 (2) 调用 ::Create_HP_Xxx(pListener) 函数创建 HPSocket 对象 (3) 调用 ::HP_Set_FN_Xxx_OnYyy(pListener, ...) 函数设置监听器的回调函数 (4) 调用相关导出函数操作 HPSocket 对象 (5) ...... ...... (6) 调用 ::Destroy_HP_Xxx(pSocket) 函数销毁 HPSocket 对象 (7) 调用 ::Destroy_HP_XxxListener(pListener) 函数销毁监听器对象 方法二: ------------------------------------------------------------------------------ (1) 应用程序把需要用到的导出函数封装到特定语言的包装类中 (2) 通过包装类封装后,以面向对象的方式使用 HPSocket 4.动态链接库发行版本 (1) x86/HPSocket4C.dll - (32位/MBCS/Release) (2) x86/HPSocket4C_D.dll - (32位/MBCS/DeBug) (3) x86/HPSocket4C_U.dll - (32位/UNICODE/Release) (4) x86/HPSocket4C_UD.dll - (32位/UNICODE/DeBug) (5) x64/HPSocket4C.dll - (64位/MBCS/Release) (6) x64/HPSocket4C_D.dll - (64位/MBCS/DeBug) (7) x64/HPSocket4C_U.dll - (64位/UNICODE/Release) (8) x64/HPSocket4C_UD.dll - (64位/UNICODE/DeBug) > 全面启用 Buffer Pool 缓存机制:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值