mongoose 的HTTP Server如何限制连接数量

离水的鱼儿 2018-10-29 09:35:54
1.如标题,如何限制连接数量。
2.连接标识符,有没有类似session的,我看到源码里有连接标识符,但看了半天也不知道是怎么用的。
3.对于一个http请求(长连接),处理完一次链接后是保持链接还是断开了?
...全文
873 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
离水的鱼儿 2019-03-11
  • 打赏
  • 举报
回复
引用 7 楼 qq_35091933 的回复:
请问客户端如何实现长连接,调用mg_connect_http每次都返回一个新的连接
HTTP请求头加keep-alive了吗
qq_35091933 2019-03-07
  • 打赏
  • 举报
回复
请问客户端如何实现长连接,调用mg_connect_http每次都返回一个新的连接
bluish_white 2018-12-25
  • 打赏
  • 举报
回复
我尝试改了SOMAXCONN的值 验证连接限制的问题,但是好像没什么效果。可能是我理解错了,如果给你开发造成困扰了那可真是太抱歉了。
离水的鱼儿 2018-12-25
  • 打赏
  • 举报
回复
引用 5 楼 bluish_white 的回复:
我尝试改了SOMAXCONN的值 验证连接限制的问题,但是好像没什么效果。可能是我理解错了,如果给你开发造成困扰了那可真是太抱歉了。
其实你在MG_EV_ACCEPT的时候计数就可以了,这样就可以限制连接数了。 多线程的我也弄出来了,可以参考官方实例,在我看来官方实例很啰嗦,其实在MG_EV_HTTP_REQUEST的时候就可以开启一个线程去处理请求就好了,官方实例中借用的一个IO处理多个请求,还有两个socket这样我觉得加重了通信效率,因为内部还要通信。不过值得官方实例值得学习。 结贴~~~
赵4老师 2018-12-20
  • 打赏
  • 举报
回复
学会使用grep(Linux)或findstr(windows)
离水的鱼儿 2018-12-19
  • 打赏
  • 举报
回复
已解决,还有部分问题没解决,对Mongoose这个又深入的了解了一番。
xnhjp 2021-09-22
  • 举报
回复
@离水的鱼儿 楼主怎么解决的,目前我在学校mongoose这个玩意儿
离水的鱼儿 2018-12-16
  • 打赏
  • 举报
回复
引用 1 楼 bluish_white 的回复:
1、有个宏定义“SOMAXCONN”,是listen的参数,默认8个。如何在程序里修改,我也在找。 3、struct mg_connection 有个字段“flags”。默认 mg_send() 之后是保持连接,如果要在一次发送后主动断开,只要或操作一下这个flags就行。

struct mg_connection *c;
/* 省略代码 */
mg_send_head(c, 200, strlen(content), "Connection: close\r\nContent-Type: application/json; charset=utf-8");
c->flags |= MG_F_SEND_AND_CLOSE;
mg_send(c, content, strlen(content));
1.默认是长连接的,但是为什么,官方实例中多线程每次访问都是新的端口号?单线程的就可以是长连接。 2.您有没有用mongoose做多线程,我在改造多线程的时候,在处理第一个请求的过程中,poll会将上一个请求的http_message清空,以至于我在处理第一个请求的时候半路就因为某些值为空(如method、body)报错了,我在MG_EV_HTTP_REQUEST将需要的信息保存下来,在后续的处理过程中还是变空了,已经做不下去了~~~
bluish_white 2018-12-14
  • 打赏
  • 举报
回复
1、有个宏定义“SOMAXCONN”,是listen的参数,默认8个。如何在程序里修改,我也在找。

3、struct mg_connection 有个字段“flags”。默认 mg_send() 之后是保持连接,如果要在一次发送后主动断开,只要或操作一下这个flags就行。

struct mg_connection *c;
/* 省略代码 */
mg_send_head(c, 200, strlen(content), "Connection: close\r\nContent-Type: application/json; charset=utf-8");
c->flags |= MG_F_SEND_AND_CLOSE;
mg_send(c, content, strlen(content));

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧