社区
网络编程
帖子详情
多个client连接到SERVER,如何只给一个指定的client发送一个server发起的消息
dood
2003-10-21 08:15:22
多个client连接到server,现在在server中一个事件,触发某个函数,要求在这个函数中可以发送一个socket包到一个指定的client。我想:每一个连接其实都是一个线程,如何在其他函数中,调用其中一个线程中的socket发送数据呢?
...全文
76
7
打赏
收藏
多个client连接到SERVER,如何只给一个指定的client发送一个server发起的消息
多个client连接到server,现在在server中一个事件,触发某个函数,要求在这个函数中可以发送一个socket包到一个指定的client。我想:每一个连接其实都是一个线程,如何在其他函数中,调用其中一个线程中的socket发送数据呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jongin
2003-10-21
打赏
举报
回复
呵呵,谢谢2位爷的支持
Eearbird
2003-10-21
打赏
举报
回复
正如楼上所说的,将客户端的连接信息管理起来。就能很容易解决这个问题。
而且:
“我想:每一个连接其实都是一个线程”
其实不然,不用每个连接都开线程。
farfh
2003-10-21
打赏
举报
回复
楼上的方法可行,其实只要有个管理所有客户的连表就成,无论使用map 还是list等等,都无所谓,需要发消息的时候进行一下搜索就成了。
jongin
2003-10-21
打赏
举报
回复
如果你用的是TCP/IP的连接方式,可以建立一个全局的指针链表,那么你可以在服务器端的onaccept方法里,只要有客户端的被服务器建听到了,就向指针链表里写入一个socket的指针,然后当客户端发信息给某个其他的客户端的时候,你可以让这个客户端先发一个自定义的结构性变量,这个结构包括要发送的目的地的ip和端口,服务器解析了这个结构,服务器通过遍历指针表,用getpeername()方法找到相应的socket,把这个信息就发过去了!不是很难的。
如果你用的是UDP/IP,也是建立一个链表,由于UDP本身是非链接的,那么你就让客户端一登陆就发一个包含IP和端口的信息,解析后把这个信息,存入一个指针链表,同样当一个客户端发信息的时候,搜索链表,转发给相应的socket。
附:指针链表定义:CPtrList *a = new CPtrList();
dood
2003-10-21
打赏
举报
回复
老大,说清楚点好么?我现在就是在用socket.可是怎么实现用一个函数,去调用另外一个线程中的CSocket呢?全局变量?
醉马不肖
2003-10-21
打赏
举报
回复
socket
dood
2003-10-21
打赏
举报
回复
就类似聊天室里的私聊。一个人发socket给server,server将这个消息发给另外一个client,应该怎么做????
Prometheus+Grafana搭建全方位的监控告警系统
一、prometheus简介 Prometheus是
一个
开源的系统监控和告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,prometheus支持...
NRF52832蓝牙ble
多个
server
连接
client
向上位机
发送
数据,断开
一个
从机,主机多发重复数据问题(
server
并没有多发)
连接
上Central后等待pc机端指令,指令到达将Peripheral中采集到的生理数据经由Central传输到PC端)过程中,遇到
一个
问题,主从机
连接
上后,
Server
接收到指令向
Client
发送
数据,这是突然将
Server
重启,重新与
Client
...
多
Client
同步
Server
端数据
这是我的问题! 怎么解决呢?...(1)
Client
端设置定时器,不断的请求
Server
,这个实现起来很简单 (2)
Server
主动推送更新的数据, 这里有一篇http://yangzb.iteye.com/blog/424024 介绍了一些推送介绍
基于TCP的socket编程实现
client
和
server
通信
套接字(socket)是
一个
抽象层,应用程序可以通过它
发送
或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。 . 环境: . ...
C#Socket处理
多个
连接
2.当有客户端
连接
上之后,新开
一个
线程为不停的去接受该
连接
发送
的
消息
并进行处理 3.服务端的Socket对象继续监听其他客户端的
连接
4.服务器端每监听到
一个
连接
,就创建
一个
线程为该
连接
进行处理 实现Socket监听多...
网络编程
18,356
社区成员
64,217
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章