刚刚学习socket想问个问题,如果我有一个server,多个clientserver与每个client都有对应接收和发送的socket,每个client也与server有接收和发送消息的socket每次会有一个client激活,激活后这个client做一点动作,这个动作会发送一个消息给server,server收到这个消息后要转发给每一个client,这种时候不会有多线程问题如果同时所有的client激活,然后在30秒内大家会在不一定的时间里面作出动作,第一个作出动作的人的动作有效,其余的人动作作出会被拦截。 几秒后又重新刷新。30秒内允许大家做动作。我的问题是,在用socket时,似乎不能直接用多线程里面学的东西(我学的浅哈)。像我情况这样的,有多个socket同时交流的多线程应该用一些什么东西,什么概念呢。请各位前辈指教下,我按着知识点学习学习。
解决方案 »
- 菜鸟关于位运算的一个问题
- java关于时间的方法
- 提问
- 急!!高手们,我是JAVA的初学者,请问jtable的setValueAT是怎么使用的?我想在输入ID后,表可以根据ID号来显示整条记录,谢谢啦!
- oracle The Network Adapter could not establish the connection
- List组件中哪个listener监听列表项下标变化的事件
- 求绘图的java代码,谢谢了!!!
- 一个头痛的问题
- JAVA APPLET 在部分浏览器中中文显示为乱码的问题!
- 非常生气的try ...catch的问题
- 求问,这道java题的输出结果,和解析。
- java多线程生产者消费者,高手指点一下
如new Handler(socket).start()
剩下的工作就只和这个socket有关了,每个处理socket的线程之间是独立的。
所以 client和server之间的交互就是相互独立的,不会有影响。
因为所有client可以动作的时候,我怕一个client按了动作后,另外一个因为延迟的原因还没有被禁止动作的client也按了动作,理论上我只允许一个client动作。 如果给每个socket一个线程,我感觉仍然可能会出现情况,不知道对不对。