望高手伸把手啊帮帮我这个初学者,让我少走些弯路~,其实真的不想麻烦大家问这个大块而且自己也没有头绪的问题 可能对于你们很简单,不

yqlws 2003-08-23 04:53:55
由于初学,语言表达上可能不够准确希望高手们凑活着先看看
想做一个网络麻将,服务端已经有源码了而且定义好了包的格式,

问题一:

这是服务端一个头文件中的一个定义
#define CLIENT_HU 0x100A
//[CLIENT_HU]{[玩家名][胡的类型][牌数][牌][...]/[GN_STR][uint8][uint8][uint8][...]}
//胡的类型
我想问的是
1.在C++ Builder中我要如何定义数据包才符合这个定义?
2.而且包头如何写?
3.希望能给详细的解答 (包头+数据类型),以及如何向这个包中加数据?

问题二:
~.app中的关于解服务端读取客户端发过来数据包判断指令的语句
void CGameApp::OnGameCmd(UsrPacket &in)
{
GN_STR sendname;
uint16 cmd;
in >> sendname;
in >> cmd;
switch(cmd)
{
case..........
case..........//其他cmd
..............
case CLIENT_HU:
OnGameHu(sendname.text,in);
break;
................
................
}
}
我要问的是:
1.显然这是服务端读取客户端发来的包,那假如服务端发了这样的一个包给客户端,参照上面的 那么再C++ Builder中客户端要如何才可以象上面一样读取数据呢??
2.in是服务端自己定义好写包的,在我这里应该不可以用的吧~ 是吗?那是不是要用到menset什么来着?


...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yqlws 2003-08-25
  • 打赏
  • 举报
回复
UP
yqlws 2003-08-23
  • 打赏
  • 举报
回复
不论是不是初学者的问题,不过我的确是初学者,有谁可以解答的吗?
yydy 2003-08-23
  • 打赏
  • 举报
回复
呵呵,这个问题好像不是初学者的问题吧
我也是初学者,来学习
xinghf 2003-08-23
  • 打赏
  • 举报
回复
1、最简单的办法就是定义自己的报文类型 如 A 代表增加金钱 可以表示为 A02000 就是表示增加2000金钱
2、服务器和客户端定义的报文结构应该一至

oldcold 2003-08-23
  • 打赏
  • 举报
回复
学习
yqlws 2003-08-23
  • 打赏
  • 举报
回复
up
bluemeteor 2003-08-23
  • 打赏
  • 举报
回复
UP

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧