网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
11月29日漏签0天
linux吧 关注:530,461贴子:2,572,721
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 21回复贴,共1页
<<返回linux吧
>0< 加载中...

请教大神一个关于linux socket 的问题

  • 只看楼主
  • 收藏

  • 回复
  • Hersound
  • ------w-
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如题


  • Hersound
  • ------w-
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
做了一个客户端,服务器模型的socket通信程序
用的是tcp协议
客户端发出消息,服务器收到后发给所有连接上服务器的客户端,服务器采用多进程
现在的问题是
最后连接上服务器的服务套接字不能被第一个连接上的进程知道
所以只能实现,最后连接上的客户端群发
问下有没有什么问题,解决,谢谢


2025-11-29 03:07:31
广告
不感兴趣
开通SVIP免广告
  • deltax9k
  • ----x-wx
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你的意思是要实现
每个客户端的广播吗?
你看这样行不?
在服务端维护一个动态客户端套接字集合
发送进程根据这个集合发送


  • Hersound
  • ------w-
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我在服务器采用的是一个数组,每个accept上来的客户端会有一个服务套接字,我就把服务套接字放到,这个数组里。然后上面的问题就出现了,第一个客户端的进程里面的这个数组只有他自己的套接字,没有其他进程的套接字。只有最后的进程里的数组才有所有连接上的套接字
如果用动态的方式实现,那么他的数据要用什么结构呢?


  • deltax9k
  • ----x-wx
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
由于客户端套接子集合是要共享的
在进程间共享数据比较麻烦,
所以, 可以考虑用线程吗?
至于套接字集合的数据结构,
由于有频繁的插入, 遍历, 链表如何?
似乎可以用读写锁来避免竞争?


  • yxwzaxns
  • ----x---
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
https://www.github.com/yxwzaxns


  • hiczb
  • ----xr--
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
shm共享内存


  • hiczb
  • ----xr--
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
或者用实时信号,向上级发送信号


2025-11-29 03:01:31
广告
不感兴趣
开通SVIP免广告
  • Hersound
  • ------w-
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
谢谢各位给出的解决方法,结贴


  • Hersound
  • ------w-
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
决定用线程


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 21回复贴,共1页
<<返回linux吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示