客户端服务端web问题

情况是这样: 我这边是C++socket/TCP服务器,然后有几万台客户端长连接我的服务器,这时,web端想对客户端进行参数设置,于是web端连到我的TCP服务器发来它想设置的客户端的ID和设置参数,我这边就需要把web端发来的设置参数转发到对应的那台客户端上.


那么问题来了:我要怎么在几万台客户端中把设置参数send到指定的这台客户端,因为我的服务器是接到客户端发来的数据才做应答,算被动模式的,怎么才能做到主动下发命令到指定的客户端呢? 我初步思路是当客户端连上来后我把socket连接ID和客户端ID保存下来,然后想主动下发的时候去查找连接ID,直接send命令,这样可以吗?如果可以,那这个socket连接ID和客户端ID要保存在哪里才能快速响应主动下发?

 

 

客户端定时发送心跳包给服务器端,服务器端如果没什么可让客户端干的,就仅返回心跳验证包,否则发心跳验证附带命令,客户端收到心跳验证附带命令包后,执行对应命令。

 

你的方法可以,这个socket连接ID和客户端ID保存在内存里用map容器保存就可以了

 

用TList类型或结构就可以保存了,用的时候轮循即可。几万台客户端同时连接很夸张的,这种情况下最好不要使用长连接,最好是参照QQ使用UDP类协议

如果是长连接,有两种方式实现呼叫客户端,一种是向客户端的监听端口发送指令包,一种是使用DataSnap的调用客户端代码的功能

 

posted on   lydstory  阅读(112)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示