本人第一次进行网络编程,认识有限。
我写了一个游戏棋程序,要求各个玩家之间有信息交流和棋盘的更新。当玩家加入游戏时候,服务端会创建一个线程为其进行服务,然后自始自终客户端和服务端都在这个线程上进行信息传递,直到游戏结束。
比如说我写了一个线程类MyThread,当玩家加入时候应该是创建一个线程并开始服务监听,new MyThread(s).start();
这样我可以处理一个玩家的跟服务器的交互。当我想多个玩家游戏,每个人都会从服务端分配到一个线程,那就需要一个线程组,那么在我的主类里应该怎么操作,比如如何声明这个线程组,怎么去实例化。
因为玩家之间要有交流比如玩家1棋子移动了,移动信息就要通过服务器传给其他所有玩家,这个过程就需要能够标记区分不同的玩家,传递信息的时候还要传参表示是哪个玩家的信息,不知道这怎么实现呢。
我写了一个游戏棋程序,要求各个玩家之间有信息交流和棋盘的更新。当玩家加入游戏时候,服务端会创建一个线程为其进行服务,然后自始自终客户端和服务端都在这个线程上进行信息传递,直到游戏结束。
比如说我写了一个线程类MyThread,当玩家加入时候应该是创建一个线程并开始服务监听,new MyThread(s).start();
这样我可以处理一个玩家的跟服务器的交互。当我想多个玩家游戏,每个人都会从服务端分配到一个线程,那就需要一个线程组,那么在我的主类里应该怎么操作,比如如何声明这个线程组,怎么去实例化。
因为玩家之间要有交流比如玩家1棋子移动了,移动信息就要通过服务器传给其他所有玩家,这个过程就需要能够标记区分不同的玩家,传递信息的时候还要传参表示是哪个玩家的信息,不知道这怎么实现呢。
解决方案 »
- 我傻逼了
- java6 webservice 如何部署?
- ProgressBar中进度条中显示进度百分比字体重影的现象
- 寻找数值的正则表达式好像有点难道哦(有兴趣的朋友请进)
- java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?(在线等)
- 请问下载了JBuilder 4.0之后??
- JDBC驱动程序源代码哪儿有???(100分)
- 例似移动的欠费催交系统需要什么样的软硬件环境,报价是多少?有没有详细方案。不能超过15万
- 用java开发PDA软件,都需要那些知识?
- scjp(yy2)
- java插入oracle数据库问题
- 问一个String 转 int的问题。。。
这个接口是个内部靠MAP来实现,具体怎么写看自己的喜好,我以前写过,现在就是随便理了一下。
你也可以参考一下JDK的线程池。Executor、ExecutorService等。
public interface ThreadArray{
//自动分配KEY
public void add(Socket socket);
//手动指定KEY
public void add(Socket socket,String key);
//向指定的socket发送消息
public boolean sendMsg(String key,String msg);
//向所有socket发送消息
public boolean sendMsg(String msg);
//关闭指定socket,清除出数组
public boolean close(String key);
//关闭所有socket
public boolean close();
}