⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _message.inc

📁 使用汇编语言实现TCP协议的聊天室例子程序
💻 INC
字号:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Sample code for < Win32ASM Programming 2nd Edition>
; by 罗云彬, http://asm.yeah.net
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 使用 TCP 协议的聊天室例子程序
; 通讯链路传输的数据结构定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;
;
;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
CMD_LOGIN	equ	01h	; 客户端 ->服务器端,登录
CMD_LOGIN_RESP	equ	81h	; 服务器端 -> 客户端,登录回应
CMD_MSG_UP	equ	02h	; 客户端 -> 服务器端,聊天语句
CMD_MSG_DOWN	equ	82h	; 服务器端 -> 客户端,聊天语句
CMD_CHECK_LINK	equ	83h	; 服务器端 -> 客户端,链路检测
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据包定义方式
; 每个数据包以 MSG_HEAD + MSG_xxx 组成,整个长度填入 MSG_HEAD.dwLength
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;********************************************************************
; 数据包头部,所有的数据包都以 MSG_HEAD 开头
;********************************************************************
MSG_HEAD		struct
  dwCmdId		dw	?		;命令ID
  dwLength		dd	?		;整个数据包长度=数据包头部+数据包体
MSG_HEAD		ends
;********************************************************************
; 登录数据包(客户端->服务器端)
;********************************************************************
MSG_LOGIN		struct
  szUserName		db	12 dup (?)	;用户登录ID
  szPassword		db	12 dup (?)	;登录密码
MSG_LOGIN		ends
;********************************************************************
; 登录回应数据包(服务器端->客户端)
;********************************************************************
MSG_LOGIN_RESP		struct
  dbResult		db	?		;登录结果:0=成功,1=用户名或密码错
MSG_LOGIN_RESP		ends
;********************************************************************
; 聊天语句(客户端->服务器端):不等长数据包
;********************************************************************
MSG_UP			struct
  dwLength		dd	?		;后面内容字段的长度
  szContent		db	256 dup (?)	;内容,不等长,长度由dwLength指定
MSG_UP			ends
;********************************************************************
; 聊天语句(服务器端->客户端):不等长数据包
;********************************************************************
MSG_DOWN		struct
  szSender		db	12 dup (?)	;消息发送者
  dwLength		dd	?		;后面内容字段的长度
  szContent		db	256 dup (?)	;内容,不等长,长度由dwLength指定
MSG_DOWN		ends
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MSG_STRUCT		struct
  MsgHead		MSG_HEAD <>
  union
    Login		MSG_LOGIN <>
    LoginResp		MSG_LOGIN_RESP <>
    MsgUp		MSG_UP <>
    MsgDown		MSG_DOWN <>
  ends
MSG_STRUCT		ends
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -