BLoGGer

随笔

随笔归档

收藏

BLoG.Stats

  • 随笔 - 4
  • 收藏 - 1
  • 评论 - 0
  • 寻迹 - 0

2005-04-12 #

暂时的讨论结果

1. 取消用文件来控制起唯一实例,改用shell脚本解决。
   同意
 
2、如果中心服务器采用多线程,中心服务器和游戏服务器之间通信模式是否有必要创建一对socket通道?
   讨论结果是一个GM SERVER对应一个线程,建一个SOCKET
 
3、部分文件名更改,目的是更贴切,现在的文件名起名比较随意,讨论一个起名字的规则,建议所有文件(.h .cpp .pc)加wn前缀。
   同意,现在gameserver下所有的文件已遵守此规则
 
4、调度进程和查看进程是否要列入开发日程?
   同意,调度进程和查看进程可以做成一个客户端程序,直接联接CEN SERVER, CEN SERVER专门起一个线程通过SOCKET通信服务这个客户端.查看/调度进程目前的需求有:
   1.查看有多少个GM SERVER已连接
   2.强制断开某个GM SERVER的连接
   3.查看总共有多少个用户登录,分布在哪些服务器上
   4.其它的实时数据统计
 
 查看/调度是特殊的名子和PASSWORD登录还是连接另一个特殊的端口,这个可以随便定。
 
5、讨论cancel子线程失败的问题。
   目前的设计中好象没有需要cancel线程的地方,等有需求的时候再讨论
 
6、Makefile脚本修改的问题:建议取消这种语法OBJS      = $(SRCS:.cpp=.o),改称列出实际的文件名。
   同意
7、游戏服务器如何登录?
   每个一游戏服务器有唯一名子和密码,存在游戏服务器的配置文件里,连接成功后,向中心服务器发送自已的名子和密码进行认证
 
8、考虑64位操作系统的支持和移植问题
   把现有的typdef.h改成wnTypedef.h,要求所有的源代码里用int,char之类C语言的基本类型的地方都使用typedef过的类型代替。
 
9、子线程退出时候如何进行清除动作?
   目前gameserver里所有的清除都是在exitSignal里做的,如果线程有需求要做清除的话,有两种办法:
   1.类的析构函数
   2.pthread_cleanup_push ???
 暂定用pthread_cleanup_push,等到实际遇到需求时再看。
 
10、不同GM SERVER之间的通信问题,比如GM SERVER A 上的用户与 GM SERVER B上的用户通信
 
   两个方案:一是线程A直接写线程B的socket handle,实现向game server B发送消息,
            二是线程A,B之间用消息队列通信
  我倾向于方案一,并给每个socket handle加一个写的锁。有待进一步讨论。

发表于 @ 22:48 | 评论与反馈 (11)

今晚需要和老狼讨论的东西:

1、取消用文件来控制起唯一实例,改用shell脚本解决。

2、如果中心服务器采用多线程,中心服务器和游戏服务器之间通信模式是否有必要创建一对socket通道?

3、部分文件名更改,目的是更贴切,现在的文件名起名比较随意,讨论一个起名字的规则,建议所有文件(.h .cpp .pc)加wn前缀。

4、调度进程和查看进程是否要列入开发日程?

5、讨论cancel子线程失败的问题。

6、Makefile脚本修改的问题:建议取消这种语法OBJS      = $(SRCS:.cpp=.o),改称列出实际的文件名。

7、子线程退出时候如何进行清除动作?

8、游戏服务器如何登录?

9、64位操作系统支持:建议把常用类型用宏替换/

 

发表于 @ 18:22 | 评论与反馈 (4)