利用python + qqbot + 聚合数据api 实现qq智能聊天机器人

利用python + qqbot + 聚合数据api 实现qq智能聊天机器人,第1张

from qqbot import QQBotSlot as qqbotslot,RunBot

from random import randint

@qqbotslot

def onQQMessage(bot, contact, member, content):

#在这里过滤过来的输入, content的内容是监听qq上所有的输入瞎哗

# 当磨悉行群里有人@你的时候 传入过来的会被转化为[@ME]

# 所以使用 @ME 来过滤其他人在群里面at你

if '@ME' in content:

#四个参数陆冲的详细

#bot : QQBot 对象,提供 List/SendTo/Stop/Restart 四个接口,详见本文档第五节

#contact : QContact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 属性,这些属性都是 str 对象

#member : QContact 对象,仅当本消息为 群或讨论组 消息时有效,代表实际发消息的成员

#content : str 对象,消息内容

bot.SendTo(contact,'@'+ member.name+ " 哈哈 ")

#这里是因为部分群里面的at无法转化为[@ME]所以自己过滤at自己的内容

elif '@' in content and '光' in content:

bot.SendTo(contact,'@'+ member.name+ " 哈哈 ")

RunBot()```

这个问题很有意思!我也想了很久。如果大家了解UDP和TCP的区别。很多人会告诉你。TCP协议因为是可靠的!它会验证信息是否发送到目的地。而且TCP连接和断开时都会经过看似漫长3次握手。而UDP因为是不可靠的

它没有验证机制更没有什么握手打招呼!我们聊天肯定希望速度越快越好不要有延时,所以有很多人或许会告诉你UDP比TCP快得多!所以QQ用UPD。

这个从理论上讲是对的!但大家忽视了一个客观因素。也就是TCP的验证和3次握手到底能用多少时间,这里可以告诉你最多不会超过0.5秒也就是500毫秒

这个速度玩游戏的人都知道很慢了。如果说0.5秒你觉得我估计少了那么1秒怎么也够了吧

对于我们人来说1秒不是眨眼的功夫吗。所以说以上所说不是QQ使用UDP的原因,起码不是主要原因。(其实QQ也有验证机制,只不过这个验证机制是由应用伍则层其他协议完成的)那么就要更深一层去探讨UDP和TCP

在传输上区别了。首先我个人认为最主要是UPD包比TCP包要少12个字节。12个字节枝凳差距虽然很微小

但量变到一定程度那就有质的变化。现在我们2M宽带理论256KB

每秒,就算200KB吧

等于1600个字节

大家可以算这个差距。还有一个更深层原因也就是UDP“素质”很差。TCP就很绅士。

为什么说UDP素质不高

是因为UDP就像马路腔搭棚那种见缝插帧的司机

谁也不让

拼了命往前冲

不管你路上有多挤

更不会去想维持一下次序。TCP就不会!一旦TCP觉得路上拥挤就会自觉降低发送速度

他会努力维护次序。这样一进一退差距就大了。所以我觉得这才是QQ使用UDP的主要原因!也似乎也符合腾讯一贯作风

呵呵

MSN使用TCP

就要慢一些

不信你可以试试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12394328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存