社区
C语言
帖子详情
关于socket的疑问并发连接的疑问
power0811
2013-04-27 05:18:59
我在socket创建好之后,在while循环外面malloc了一个300M的内存, 那么, 在while True死循环里面, 不断的 epoll_wait的话, 当设置成非阻塞模式, 因为listen 是10, 当有10个并发连接过来的时候,
我在while循环里面检测到连接, 交给accept处理, 然后再走后面的逻辑, 那么这10个链接请求都共享这一块内存么?
如果是的话 该怎么设计让他们分开呢?
...全文
104
10
打赏
收藏
关于socket的疑问并发连接的疑问
我在socket创建好之后,在while循环外面malloc了一个300M的内存, 那么, 在while True死循环里面, 不断的 epoll_wait的话, 当设置成非阻塞模式, 因为listen 是10, 当有10个并发连接过来的时候, 我在while循环里面检测到连接, 交给accept处理, 然后再走后面的逻辑, 那么这10个链接请求都共享这一块内存么? 如果是的话 该怎么设计让他们分开呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
power0811
2013-04-28
打赏
举报
回复
这样能避免 多个client fd共享一块内存么?
qq120848369
2013-04-27
打赏
举报
回复
data.ptr是epoll_ctl加入epoll集合时赋值的,epoll_wait返回的event里的data.ptr会有你当初epoll_ctl赋值的那个地址。
power0811
2013-04-27
打赏
举报
回复
非常感谢, 不过麻烦能回答的详细点么 呵呵
1, 程序是单进程的, 如果上一个用户还没处理完,epoll会立刻把后面用户的连接请求响应,一起操作那段共享内存么?
2, data.ptr 是在 定义 struct epoll_event ev, events[MAX_EVENTS] 后, ev这个变中的 ptr赋值给 自己定义的结构体么? 在调用epoll_wait时, 将ev这个变量放入 events数组中, 再次循环再取出对么?
qq120848369
2013-04-27
打赏
举报
回复
一个连接一个结构体,注册在struct epoll_event的data.ptr中保存。
power0811
2013-04-27
打赏
举报
回复
程序是单进程的, 如果上一个用户还没处理完,epoll会立刻把后面用户的连接请求响应,一起操作那段共享内存么? 设置成非阻塞是否没什么关系,因为它无法控制两个用户同时操作内存吧
power0811
2013-04-27
打赏
举报
回复
程序是单进程的, 如果上一个用户还没处理完,epoll会立刻把后面用户的连接请求响应,一起操作那段共享内存么? 设置成非阻塞是否没什么关系,因为它无法控制两个用户同时操作内存吧
power0811
2013-04-27
打赏
举报
回复
程序是单进程的, 如果上一个用户还没处理完,epoll会立刻把后面用户的连接请求响应,一起操作那段共享内存么? 设置成非阻塞是否没什么关系,因为它无法控制两个用户同时操作内存吧
max_min_
2013-04-27
打赏
举报
回复
引用 1 楼 xiaoji0507 的回复:
accept到后开线程或者进程。在子线程/进程里面处理每一条连接。
++ 只有这样处理了, 要不就设置成为非阻塞的也行,处理快点
comwise
2013-04-27
打赏
举报
回复
我认为应该是 毕竟在之前是在进程分配的一块空间 而线程肯定共享块内存,如果单独使用 我建议在线程里面单独分配
xiaoji0507
2013-04-27
打赏
举报
回复
accept到后开线程或者进程。在子线程/进程里面处理每一条连接。
sharedb:基于操作转换(OT)的实时数据库后端
该自述文件适用于sharedb@1.x 。 有关sharedb@1.x-beta ,请参见。 要升级,请参阅。 共享数据库 ShareDB是基于JSON文档的的实时数据库后端。 它是的实时后端。 如有
疑问
,讨论和公告,请加入或 。 请将发现的所有错误报告给。 特征 实时同步任何JSON文档
并发
多用户协作 具有异步最终一致性的同步编辑API 实时查询订阅 与任何数据库轻松集成 , (实验性) 通过可水平扩展 从文档和操作中选择所需字段的投影 用于实现访问控制和自定义扩展的中间件 非常适合在浏览器或服务器上使用 重新
连接
后脱机更改同步 用于单元测试的数据库和pub / sub的内存中实现 重新连线 TLDR const Web
Socket
= require ( 'reconnecting-web
socket
' ) ; var
socket
= new Web
Socket
(
linux中高
并发
socket
最大
连接
数的优化详解
这篇文章主要给大家介绍了关于linux中高
并发
socket
最大
连接
数优化的相关资料,文中介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起学习学习吧。 首先我们可以通过ulimit –a命令来查看系统的一些资源限制情况,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # ulimit -a
C++ 百万
并发
网络通信引擎架构与实现 (
Socket
、全栈、跨平台) Version 1.0
本课程由刘远东、张立铜两位工程师将两人在企业多年积累的开发经验结合而成。从基础的网络知识开始由浅入深地讲解如何使用C++实现一套支持百万级别
并发
的网络通信引擎。包含:高频
并发
、多线程、多进程、线程池、内存池、软件硬件瓶颈、如何测试优化网络处理能力等技术知识。可以应用在Windows、Linux、Android、IOS系统上。对从事高性能网络处理的前后端开发人员有极大帮助。咨询群:648738912
Socket
高
并发
出现TIME_WAIT的原因以及解决办法
最近公司项目遇到个问题,在
Socket
并发
量较大的情况下,每次服务端发送完数据后,Sevice端采取主动Close的方断开
连接
。客户端用短
连接
的方式发送请求,会出现大量请求返回TIME_WAIT的现象。 在网上找了一些可用的解决方法,下次运维再来找,直接扔给他们。 参考链接如下: TCP/IP详解--TIME_WAIT状态详解:https://blog.csdn.net/yusiguyuan...
linux io限制,Linux下解决高
并发
socket
最大
连接
数所受的各种限制(解除IO限制)
linux作为服务器系统,当运行高
并发
TCP程序时,通常会出现
连接
建立到一定个数后不能再建立
连接
的情况本人在工作时,测试高
并发
tcp程序(GPS服务器端程序),多次测试,发现每次
连接
建立到3800左右时,再也不能建立tcp
连接
,最总上网搜索,解决了
连接
限制的问题,此处记录下来,方便日后工作继续使用,虽然参考博文中内容有点多,文中所描述的内容也不怎么明白,但总结下来,按如下几步操作即可(我映像中,按...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章