既然都同意游戏是CS模式的,那么两头要各负责哪些工作呢?
方案一:Terminal+Server模式。终端发送所有键盘鼠标动作到服务器,服务器告诉客户端哪里要画线,哪里要贴图。
缺点:这样大的工作量也许会让server疯掉。
方案二:智能客户端。客户端包揽力所能及的计算。比如屏幕选中、编队。。。
缺点:编程复杂
通信方式:
基于Message:告诉Server客户端发生了什么,没有返回。服务器发布状态变更消息。
基于调用:C/S间相互调用,利用Remoting等方式。一个请求类似一个方法调用,要等待调用结束。