protobuf-actionscript3 和 protoc-gen-as3 总结

施洛城
2023-12-01

这几天研究protocbuf,稍稍总结一下啰。网上关于as3用protobuf协议的还真是少哦。

1.如何将 xx.proto协议转成.as 文件,按照下面链接去做

http://blog.csdn.net/luna84/article/details/8696217


2 怎样用

后台怎样用我就不知道了,我又不会c++ java 或python(不过我打算学c++了)

在as3项目里面, 把转换好的as文件拷贝到项目,添加protobuf.swc 貌似有2种版本的protobuf.swc 文件,一种竟然提示override神马神马的错,换另一个就好了,没细细研究

代码片段:

			var msg:ActionMessage = new ActionMessage();
			var header:MessageHeader = new MessageHeader();
			    header.protocol =  _em_client_message.WS_MSG_CLIENT_LOGIN_REQ;	// protobuf协议里面为 enum枚举
						/*
						enum _em_client_message
						{
							WS_MSG_CLIENT_LOGIN_REQ             =100;//客户端登陆请求 )
						}
						*/
			var body:MessageBody = new MessageBody();
			
			var loginMsg:_msg_login_req = new _msg_login_req();   //
			    loginMsg.userId = 223344;
			    loginMsg.userPass = "3ffb6de4117f57ac28e3a3bd09c3325d";  //3d5637807 MD5加密过
	            loginMsg.gameSiteid = 1;
			/*
				message _msg_login_req//登陆请求数据(CS)
				{
					required  int32      user_id           =1;//登陆时的用户id
					required  string     user_pass         =2;//登陆时的用户密码
					required  int32      game_siteid       =3;//游戏类型标识位
				}
			*/
			
				
			
			var msgData:ByteArray = new ByteArray();			
			msgData.endian = Endian.LITTLE_ENDIAN;
			
			loginMsg.writeTo(msgData);
			body.data = msgData;
			msg.header=header;
			msg.body=body;
			sendData(msg);


妈呀,我表达能力超级有问题,不写了,反正没人看,当做自己做过记录吧

 类似资料: