服务端和客户端之间的通讯

服务端(QQServer)和客户端(QQClient)之间也可以通过代码收发信息的。

客户端向服务端发发送信息

QQClient用Send发送信息时,如果不指定接收者,就会直接发给服务器:

QQClient.Send("","明天天气不错")

或直接:

QQClient.Send("明天天气不错")

服务端向客户端发送信息

QQServer也有Send方法,用于向客户端发送信息,例如:

QQServer.Send("生产部.林海","测试信息")

如果希望对方在离线的时候,依然发送离线消息,可以将第三个参数设置为True,例如:

QQServer.Send("生产部.林海","测试信息",True)

这样QQServer会先将消息暂存起来,等到对方上线,再将消息发出。

服务端接收消息

QQServer同样有ReceivedMessage事件,服务端收到来自客户端的消息时,会触发此事件。

该事件的e参数有:

UserName:字符型,返回客户端名称。
Message:  字符型,返回信息内容。

例如需要在一个表中记录所有收到的信息,可以在ReceivedMessage事件设置代码:

Dim dr As DataRow = DataTables("信息").AddNew
dr
("发送者") = e.UserName
dr
("时间") = Date.Now()
dr
("信息") = e.Message

提醒:

在编写代码的时候,你会发现有两个ReceivedMessage事件,一个在OpenQQ服务端分组,一个在OpenQQ客户端分组,前者对应的是QQServer,后者对应的是QQClient, 注意不要搞混。


本页地址:http://www.foxtable.com/webhelp/topics/2978.htm