C++socket编程(七):7.2 XHttp项目创建接收浏览器请求
http协议概念:
http协议详解
如下代码:一个非应答式的http协议简单框架
#include <stdlib.h>
#include <thread>
#include <string.h>
#include"XTcp.h"class HttpThread
{
public:void Main(){char buffer[10000] = {0}; //这个buffer用来接收和发送数据//接收http客户端请求int recvLen = client.Recv(buffer, sizeof(buffer) - 1); //要保留\0所有是sizeof(buffer) - 1if (recvLen < 0){client.Close();delete this;return;}printf("%s",buffer);client.Close();delete this;}XTcp client;
};int main(int argc, char* argv[])
{unsigned short port = 8081;if (argc > 1){port = atoi(argv[1]);}XTcp server;server.CreateSocket();server.Bind(port);for (;;){XTcp client = server.Accept();HttpThread* th = new HttpThread; //需要考虑什么时候清理这个线程对象th->client = client;std::thread sth(&HttpThread::Main, th); //第二个参数是对象,第一个参数是对象的方法sth.detach(); //表示释放主线程拥有的子线程的资源} //来支持多个客户端server.Close();getchar();return 0;
}
测试实例:
如上图所示,会告诉你主机ip,端口号,客户端语言等等关键信息。是能够统计用户信息的。这样我们就完成了第一步,接收浏览器发送的请求。
C++socket编程(七):7.2 XHttp项目创建接收浏览器请求相关推荐
- Java 技术篇 - 启动web服务接收浏览器请求并响应实例演示,解决socket响应浏览器显示中文乱码问题,web服务response响应设置浏览器显示字体方法
先看下效果图: 我通过 127.0.0.1:10010 访问我启用服务的效果图. 后台接收到的前台请求如下: GET / HTTP/1.1 Host: 127.0.0.1:10010 Connecti ...
- C++socket编程(三)3.2 创建TCPServer设置服务信息并讲解网络字节序
一:创建TCPserver 如下代码: 创建TCPserver设置服务信息代码如下 int sock = socket(AF_INET, SOCK_STREAM, 0);if (sock == -1) ...
- python 图形化socket编程_Python黑帽编程2.8 套接字编程
Python黑帽编程2.8 套接字编程 套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此.官方关于socket编程的 ...
- Java Socket编程如何建立两者关系
转自:http://developer.51cto.com/art/201003/190582.htm Java Socket编程需要大家详细的学习,有关的技术一直在不断的更新.那么要如何才能掌握好有 ...
- PHP SOCKET编程详解
这篇文章主要介绍了PHP SOCKET编程详解,需要的朋友可以参考下 1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实 ...
- Java TCP/IP Socket 编程 笔记
http://jimmee.iteye.com/blog/617110 http://jimmee.iteye.com/category/93740 Java TCP/IP Socket 编程 笔记( ...
- BSD socket编程学习
1.socket简介 BSD是实现TCP/IP协议通信的软件系统,socket是应用编程接口,为app提供使用TCP/IP协议通信的接口. 网络层IP提供点到点服务(IP地址标识),传输层TCP和UD ...
- Python Socket 编程详细介绍
Python 提供了两个基本的 socket 模块: Socket 它提供了标准的BSD Socket API. SocketServer 它提供了服务器重心,可以简化网络服务器的开发. 下面讲解下 ...
- 初识socket编程---教你正确分手哦!!!
初识socket编程---教你正确分手哦!!! 先礼后兵,理解三次握手,四次挥手才能在socket有的放矢 先康康一些补充 补充:TCP的头部结构 走进科学 三次握手 写成故事,方便你理解 四次挥手 ...
最新文章
- 支持向量机svm的完整实现并配有解析
- Query采用each方法遍历
- (luogu4180) [Beijing2010组队]次小生成树Tree
- Python 生成器与列表解析
- Win10配置VSCode+Opencv3(C++) GCC环境
- Java: String.split(....); 结果很意外
- 软考信息安全工程师培训精品课-更新中
- c语言的加法和平均值程序,编写求一组整数的和与平均值的程序
- Oracle11g在Windows和Linux下imp导入表,exp导出表,sqluldr2导出表,sqlldr导入表
- 谈java之GUI与安卓
- Flutter仿闲鱼底部导航栏实现
- 三面字节跳动被虐得“体无完肤”,15天读完这份pdf,终拿下美团研发岗offer
- rabbit MQ的rpc功能详解
- SpringBoot整合druid数据源,quartz定式框架
- 《罗马革命》豆瓣 9.1 从恺撒大帝到屋大维
- mysql定期清理会话_MySQL会话闲置时间控制
- Python异步爬虫技术:10秒抓取3000条房源信息!
- 鹰眼轨迹android,鹰眼轨迹服务
- PMP培训机构选择五大关键点!看完就会!
- docker安装opengrok环境
热门文章
- Linux 进程间通信 - 信号量
- iOS MJRefresh下拉刷新(上拉加载)使用详解
- 五个案例让你明白GCD死锁
- 64位Ubuntu 13.04 安装Bochs 2.3.5
- js indexOf()
- Python之数据分析(numpy线性模型、线性预测、线性拟合)
- 卷积神经网络流程图_卷积神经网络
- 微课|《Python编程基础与案例集锦(中学版)》第4章例题讲解(3)
- 微课|中学生可以这样学Python(例11.4):tkinter版图片查看器
- 微课|中学生可以这样学Python(例5.1):生成不重复的随机数