Windows简易HTTP服务端

该代码示例展示了如何在C++中使用WinSock2库创建一个简单的HTTP服务器,初始化套接字,监听并接受客户端连接,然后发送预定义的HTML响应。服务器绑定到127.0.0.1的20703端口,当收到客户端请求时,它会返回一个个人主页的HTML内容。
摘要由CSDN通过智能技术生成

函数功能

包含头文件

#pragma once
#include<stdio.h>
#include<WinSock2.h>
#pragma comment(lib, "ws2_32.lib")

套接字初始化

void webServer::init()
{
   
    
    if (0 != WSAStartup(MAKEWORD(2, 2), &wsaData))
    {
   
        error("WSAStartup");
    }//绑定使用网络库
    servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);//创建套接字
    if (servSock == -1)
    {
   
        error("socket");
        exit(-1);
    }
    //绑定套接字
    sockaddr_in sockAddr;//套接字地址
    memset(&sockAddr, 0, sizeof(sockAddr));  //每个字节都用0填充
    sockAddr.sin_family = PF_INET;  //使用IPv4地址
    sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1");  //具体的IP地址
    sockAddr.sin_port = htons(20703);  //端口
    if (0 != bind(servSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR)))
    {
   
        error("bind");
        exit(-1);
    };


}

报错

void webServer::error(const char* str)
{
   
    printf("%s failed:%d", str, WSAGetLastError());
    exit(-1);
}

接受客户端请求并发送响应报文

void webServer::start()
{
   
    char recvbuf[4096]={
   0};
    char sendbuf[4096] = {
    "HTTP/1.1 200 OK\r\n"
                           "Content-Type: text/html\r\n"
                           "\r\n"
        "<!DOCTYPE html>\r\n"
                              "<html>\r\n"
                              "<head>\r\n"
                              "    <title>个人主页</title>\r\n"
                              "    <style>\r\n"
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值