扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:petery 来源:论坛 2007年10月15日
关键字:
我们建立了用户数据库和邮件数据库,在前面叙述的用户登录的实现下,进行用户的邮件管理;此时涉及到数据管理。数据库结构如下:
⑴用户数据库结构:
userid 用户编号
name 用户名
chinesename 姓名
code 口令
pp 权限
dscrp 描述
⑵邮件数据库结构:
Msgid 消息编号
Receiver 接收者
Sender 发送者
Style 类型
Word 消息文字
Get 接收否
Sj 消息得到时间
bj 消息附属信息
当用户登录后,服务器从邮件数据库中提取Receiver是该用户并且消息为新(Get字段值为“新”)的记录,把之打包,利用用户Winsock对象发送。
服务器同时提供客户的命令要求,然后对之进行相应的操作:
客户命令格式:
邮件命令 Chr(13)
回车符分隔命令数据:
0读新邮件
1读旧邮件
2读所有邮件
3删除邮件 删除邮件时,需提供要删除的邮件编号(在用户登录时已经连同邮件一起发送)
服务器响应命令:发送邮件数据,字段之间用回车符隔开,在邮件内容中对其进行信息处理——对回车符进行编码,比如用%0代替,而%用%%代替。或者发送删除成功消息,删除失败消息,读取失败消息——这些特殊消息可以在消息前端用一个字符区分数据或消息及消息类型。
3.4 聊天室显然利用上面所述的用户登录机制,我们可以在服务器中建立聊天室,进行实时对话。同样我们可以使用特殊的消息管理方法,进行聊天管理;如下:
Select Case 命令的第一个字节 Case "0" ’进入会议室 For i = 1 To cur ’通知其他在线用户有用户上线 If onl(i, 0) = 0 Then Winsock1(i).SendData "0" + get_un(Index) + Chr(13) Next Case "1" ’离开会议室 For i = 1 To cur ’通知其他在线用户有用户离线 If onl(i, 0) = 0 Then Winsock1(i).SendData "1" + str(onl(Index, 1)) + Chr(13) Next Case "2" ’发言 If 第二字节 = "0" Then ’向所有用户说话 For i = 1 To cur ’把话送往所有用户 If onl(i, 0) = 0 Then Winsock1(i).SendData "2" +第Index个用户的名字 + "说:" +文字 endif Next Else ’向某用户说悄悄话 ’从命令的下面字节(到回车符结束)得到要传送的用户代号x Winsock1(x).SendData "2" +第Index个用户的名字+ "对你悄悄说:" + 文字 End If Case "5" ’邀请加入某在线用户进入会议室 ’从命令的下面字节(到回车符结束)得到要传送的用户代号x Winsock1(x).SendData "5" + 第Index个用户的名字+ Chr(13) ’向第x个用户发送进入会议室的命令,并等待响应 End Select |
4 结束语
我们使用VB6.0实现了上述功能,并使用在我们独立开发的工作流软件上,实现了Internet上的小型企业的信息管理。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者