社区
Java EE
帖子详情
很紧急,求助各位大佬,关于java多线程和socket问题
LikeInsane
2019-10-07 07:07:18
我现在要用socket和多线程实现一个多人玩的游戏。要求每个人可以看到所有人的计分表,如图
于是我在server端弄了个list叫allOut,想每次连接一个客户端就把他的输出流装进去。
然后遍历发给所有客户端。但是现在问题是。第一个客户端连上后,allOut长度为1。所以遍历时候也只是输出了自己的对象。只有到最后一个客户端allOut这个list才把所有的输出流装进去了。所以如何让所有线程可以共享这个allOut List?或者有什么更好的方法可以实现这个需求呢?真的很紧急,拜托各位大佬了
...全文
152
5
打赏
收藏
很紧急,求助各位大佬,关于java多线程和socket问题
我现在要用socket和多线程实现一个多人玩的游戏。要求每个人可以看到所有人的计分表,如图 于是我在server端弄了个list叫allOut,想每次连接一个客户端就把他的输出流装进去。 然后遍历发给所有客户端。但是现在问题是。第一个客户端连上后,allOut长度为1。所以遍历时候也只是输出了自己的对象。只有到最后一个客户端allOut这个list才把所有的输出流装进去了。所以如何让所有线程可以共享这个allOut List?或者有什么更好的方法可以实现这个需求呢?真的很紧急,拜托各位大佬了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qybao
2019-10-08
打赏
举报
回复
我觉得应该有个游戏用户列表来管理socke和UI
当游戏有戏用户加入时(新用户的socke和UI加入游戏用户列表),触发某个回调
回调方法就是遍历游戏用户表,把UI信息通过socket发给各个游戏用户
ninuxGithub
2019-10-08
打赏
举报
回复
理解一下楼主的大概的意思就是 随着用户陆续的登录,就会有玩家的数量增加, 每个玩家都有类来封装了游戏中的参数, 这些数据是动态的, 需要实时的推送给页面前段; 这其实一个实时推送的问题; 我们之前有过项目经验, 提示你可以采用websocket + mina 建立tcp长连接的方式, 对session进行维护起来, 然后我们需要例如每隔1s就采用我们维护的session来push一次数据(玩家的得分数据); websocket 和 mina 之前通信需要通过一个filter 可以参考github开源项目:https://github.com/coopci/mina-websocket-filter.git
瘦死的黑骆驼
2019-10-08
打赏
举报
回复
没明白你说的“只有到最后一个客户端allOut这个list才把所有的输出流装进去了”,你不是多线程吗,每次连接一个客户端直接加到集合就是了,你的集合最好这样定义 public static volatile List<Socket> clientSockets = new ArrayList<Socket>();
小包包007
2019-10-07
打赏
举报
回复
如何让线程共享list集合?使用单例模式下构建个线程安全的list就好了
oh_Maxy
2019-10-07
打赏
举报
回复
要看你做的 是端游还是页游了。
端游,可以考虑用NIO技术,可以考虑Netty框架。
页游的话,可以关注下webSocket。
AE特效零基础小白变大
佬
影视广告,视频包装,这个让互联网媒体价值翻倍的专业,产值已突破1000亿大关。电视广告,栏目片头、视频宣传片等需求量阶梯式增长,高品质的后期包装技术人才在市场就是香饽饽。如何成为一名被市场疯抢的视频制作者,是后期人员们最大的挑战。本课程,是由资深视频编辑刘金杰老师亲自全程教学的力作,用最通俗的语言演示最核心的知识点,从最基本的功能介绍、图层合成,到进阶的动画效果、常用特效,让每个零基础的人也能轻易上手AE,制作心仪的视频效果。
图形引擎实战:Native RenderPass原理及URP
1. 自我介绍2. 项目过程中遇到的困难,怎么解决的3. 问八股,OSI七层模型,TCP/IP的区别,HTTP请求返回的状态码,查看进程,列出文件,Linux系。1. 自我介绍2. 熟悉什么语言,问
Java
八股,进程之间通信方式,共享内存,
socket
通信过程,
线
程池,派生,反射,静态变量和全局变量的区别3. HR面,在。爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,爽,#23届找工作
求助
阵地# 最近收到成都艾为的模拟of,薪资比较满意,工作方向有adc电源和音频,部门前两年成立。
题解 | #某宝店铺连续2天及以上购物的用户及其对应的天数#
途虎养车
Java
自我介绍结束就是项目,问算法问了挺多。然后一些多
线
程的八股,最后手撕,说给20分钟,10分钟就a了,然后反问环节数字时代的自我呈现:探索个人形象打造的创新工具 数字时代的自我呈现:探索个人形象打造的创新工具——FaceChain深度学习模型工具1.介绍FaceChain是一个可以用来打造个人数字形象的深度学习模型工具。小红书 Android社区技术 二面 时长:40分钟1、进程、
线
程、协程的区别2、进程的调度算法3
webmagic采集CSDN的
Java
_WebDevelop页面
使用webmagic采集博客类的网站示例
程序CPU占用率飙升,如何定位
线
程的堆栈信息?「超详细,值得收藏」看不懂还有配套视频
相关历史文章(阅读本文前,您可能需要先看下之前的系列????) 国内最全的SpringBoot系列之三 2020上半年发文汇总「值得收藏」 GraphQL的探索之路–SpringBoot集成GraphQL小栗子篇二-第315篇 GraphQL的探索之路–SpringBoot集成GraphQL之Query篇三-第316篇 GraphQL的探索之路–SpringBoot集成GraphQL之Mutation篇四-第317篇 RocketMQ安装Linux/Mac/Window - ...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章