出于教育目的,我试图用C ++制作一个Web API。 Web API需要能够侦听HTTP请求(GET,POST等),当它收到HTTP请求时,它需要能够将数据发送回客户端。因为它是出于教育目的,所以我希望在没有不必要的库的情况下进行操作。现在,我需要做的第一件事是使api能够接收请求并对此做出响应,经过对Google的一些研究后,我发现winsock可能是设置Windows套接字的最基本的方法,但是我在接收时几乎找不到http请求。
我的问题:winsock是否可以从浏览器接收http请求,然后将数据发送回浏览器?。
答案 0 :(得分:1)
我的问题是:Winsock是否可以从浏览器接收http请求,然后将数据发送回浏览器?
是的。 ^^
答案 1 :(得分:0)
是的,因为HTTP是(通常)使用TCP作为基础传输协议的协议。
但是,即使对有经验的C ++开发人员来说,尝试在简单的win32套接字之上构建真正的HTTP层也有些过多。
许多没有经验的C ++开发人员可能会以“好吧,您只需要读取一些数据,解析标头,组装自己的HTTP响应并将其发送回去”就可以忽略此任务。
但是.. 您将需要支持
列表会一直打开。
因此实际上,如果您只想接受套接字,则读取某些数据并发送一些基本的HTTP响应,而不是。如果您想要一个可靠,专业的HTTP库-可能不需要。
答案 2 :(得分:0)
您可以查看此页面 https://github.com/ReneNyffenegger/cpp-webserver 以查看 HTTP 的简单 winsock 服务器实现。 Web 服务器的实现并不是那么困难。当然,你应该有时间。