Henry's Notebook
Many strange things
搜索
菜单
导航
首页
最近更改
随机页面
帮助
Henry's Home
个人资料
个人资料
创建账户
登录
消息
目前您没有通知。请访问您的
讨论页
以查看过去消息。
页面工具
内容页面
讨论
查看源代码
历史
首页
»
页面s
查看“BBS 信息机制”的源代码
←
BBS 信息机制
页面上次由
HenryHu
编辑于12年前
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:emailconfirmed
您可以查看与复制此页面的源代码。
[[Category:BBS 代码分析]] == 数据结构 == === 消息索引 === # msgindex:全消息箱 # msgindex2:收件箱 * 0x00-0x03 4字节 ** 对于收件箱:已读消息个数 * 之后:struct msghead[] ** 对应 MsgHead <source lang="c"> struct msghead { int pos, len; // 消息体在msgcontent中的位置&长度 char sent; // 1: 发送的消息 0: 收到的消息 char mode; // char id[IDLEN+2]; // 发送/接收者ID time_t time; // 发送/接收时间 int frompid, topid; // 发送/接收者进程号 }; </source> == libmsg.c == ; save_msgtext() * 对应 MsgBox.SaveMsgText() : 把消息存到用户的msgindex与msgcontent文件中。如果是接收到的,也存到msgindex2中。 ; load_msghead() * 对应 MsgBox.LoadMsgHead() : 读出某个消息头,可以指定全消息箱还是收件箱。 ; get_msgcount() * 对应 MsgBox.GetMsgCount() : 获取消息数量。 ; clear_msg() * 对应 MsgBox.ClearMsg() : 清除所有消息 ; get_unreadcount() * 对应 MsgBox.GetUnreadCount() : 获取未读消息数 ; get_unreadmsg() * 对应 MsgBox.GetUnreadMsg() : 从收件箱里获取某条消息,并且修改已读指针。 ; load_msgtext() * 对应 MsgBox.LoadMsgText() : 读取某条消息的内容。 ; sendmsgfunc() : 发送消息。 ; translate_msg() : 转换?目前具体不明 ; mail_msg() : 将所有消息放入邮件寄回信箱。 ; mailbacklastmsg() : 将未发送成功消息寄回信箱。 === SMS支持 === 不在研究范围…… === SQL相关 === 意义不明…… 貌似是通讯录一类的东西
返回至
BBS 信息机制
。