昆特牌Online——网络消息传输


事件


玩家->服务器的格式


服务器->玩家的格式


允许玩家出牌


ready

(服务器发出此消息前,可以不断地向玩家出牌)


允许服务器向对方发信


ready


(一局)游戏开始


hand=int

ready 或 later(ready代表接收方玩家先手出牌,later表示其为后手)


出牌(除下述三种外的牌)


int(即此牌的编号)


int


出牌(功能牌:号角)


38000

horn=int(放置号角的行序号)


38000,int

(int是号角行序号)


出牌(功能牌:稻草人)


39000

scarecrow=int,int

(放置稻草人的行序号,该行被替换的牌编号)


39000,int,int

(放置稻草人的行序号,该行被替换的牌编号)


出牌(功能牌:医生)


int

int

int

(不断出牌,直至所复活的牌不再是医生)


int

int

int

(不断出牌,直至发出ready)


更新对方客户端中己方手牌的数量


hand=int


hand=int


放弃本局


giveup


giveup


玩家通知服务器本局结束


end


玩家通知服务器游戏结束,并告知胜负


matchset,w或l或d

(己方胜、负、平)


服务器通知玩家游戏结束


matchset

这个通信的消息格式设置的并不好,冗余太多,后期有时间应该改进。

时间: 2024-11-06 15:19:05

昆特牌Online——网络消息传输的相关文章

医疗行业多层级复杂网络环境下的消息传输(远程会诊)架构与实现

近期接手一个针对医疗系统远程会诊平台的技术改造工作,这项工作中的一些技术问题颇具代表性,我会在此记录这一工作的过程和技术细节,如果条件允许,会在 GitHub 上开源部分业务无关的纯技术实现,敬请关注.(https://github.com/iccb1013). 远程会诊平台的应用场景指的是乡镇或县卫生所,在接诊过程中,对疑难问题上报上级医疗机构,由上级医疗机构进行网络诊断并回复诊疗意见,但是这一过程,并不是简单的点对点的关系.主要特点:1)  包含多级机构:乡镇.县.区.市.省.由任意一级向上

昆特牌Online——客户端设计

OpenSceneGraph介绍: OpenSceneGraph(以下简称OSG)是一个开源的三维引擎,被广泛的应用在可视化仿真.游戏.虚拟现实.科学计算.三维重建.地理信息.太空探索.石油矿产等领域.OSG采用标准C++和OpenGL编写而成,可运行在所有的Windows平台.OSX.GNU/Linux.IRIX.Solaris.HP-Ux.AIX.Android和FreeBSD 操作系统. 更多关于OSG的信息:http://www.openscenegraph.org/ 游戏大致规则: 昆

实时消息传输协议 RTMP(Real Time Messaging Protocol)

原文: http://blog.csdn.net/defonds/article/details/17403225 译序:本文是维基百科关于 RTMP 的解释, 关于 RTMP 官方规范参见 RTMP 规范,关于 RTMP 官方规范的中文版,参见<Adobe 官方公布的 RTMP 规范>.以下是维基百科原文: 实时消息传输协议(RTMP)最初是由 Macromedia 为互联网上 Flash player 和服务器之间传输音频.视频以及数据流而开发的一个私有协议.Adobe 收购 Macrom

WCF 客户端与服务端消息传输

WCF很多需要认证信息,保证服务的安全,可以使用消息来实现 WCF 实现消息的方式: WCF中有两个接口: IClientMessageInspector [定义一个消息检查器对象,该对象可以添加到 System.ServiceModel.Dispatcher.ClientRuntime.MessageInspectors集合来查看或修改消息] IDispatchMessageInspector  [定义一些方法,通过这些方法,可以在服务应用程序中对入站和出站应用程序消息进行自定义检查或修改.]

自定义网络消息

#define MSG_HEAD_LEN 4 //消息头部结构 typedef struct tagMsg { //消息类型 u16 type; //消息体长度 u16 length; }TMsg; void receive(SOCKET s) { char buffer[1024*28]; //CServMsg cMsg; u16 wRecvLen = 0 ; u16 wMsgLen = 0; u16 wRet = 0; while (TRUE) { if(wRecvLen < MSG_HEA

团队项目:昆特牌Online

昆特牌是出现在游戏<巫师3>中的一款卡牌类游戏,规则易懂玩法独到,深受广大玩家喜爱. 昆特牌规则简单,游戏中每张牌有自己的点数和特殊技能,玩家需利用自己有限的手牌在回合中使自己的点数总和大于对手,即可获胜.游戏采用3局2胜制.玩家开局会在卡组中随机抽取10张卡牌,并且可以选择其中2张放回卡组重抽.与一般卡牌游戏不同的是除了依靠少数效果卡和群组效果以外玩家是无法抽取新卡的,也就是说全部的2-3小局游戏里玩家只有10张卡可以用,用过的卡在下个小局中无法再次使用也没有新卡补充.单位卡分为3类,近战,

ZeroMQ接口函数之 :zmq - 0MQ 轻量级消息传输内核

zmq(7) 0MQ Manual - 0MQ/3.2.5 Name zmq – ØMQ 轻量级消息传输内核 Synopsis #include <znq.h> cc [flags] files –lzmq [libraries] Description ØMQ轻量级消息传输内核是一个从标准socket接口的扩展而来的链接库,这些接口通常是由一些专门的传送中间设备来提供.ØMQ提供了一个步消息传送.多模式消息传送.消息过滤(订阅).对多种传输协议无缝接入的集合. 本文档呈现了ØMQ的概念,描述

如何在网络中传输二叉树(C++源代码实现)

前些日子有朋友遇到这个问题来问我,我觉得有点意思,便实现了代码,写篇文章做个总结,与网友分享. 需求: 实现两个API,在客户端:传入一个二叉树的根结点指针,输出可以在网络中传输的ASCII串.在服务器端:根据传入的ASCII串来解析生成一个二叉树,返回二叉树的根结点指针. 思路: 看到这个问题,首先想到的是二叉树补全法,将这课二叉树补全,变成一颗完全二叉树,再使用数组进行存储,写入文件中.这样做需要在节点中增加一个属性,标记是否为补全的节点.这种方法不太合理,因为使用了补全操作,对于一颗很不规

【转】参照protobuf,将json数据转换成二进制在网络中传输。

http://blog.csdn.net/gamesofsailing/article/details/38335753?utm_source=tuicool&utm_medium=referral json数据格式在网络中传输需要的数据比二进制庞大太多,我们可以省去key,外加将数字不需要编码成字符串,直接二进制编码就OK. pack : 将json压包,unpack解包成json. [javascript] view plain copy var Struct = module.export