msn中实现 "添加一个活动或游戏邀请"

现在网上流行的xiaoi机器人,如查天气或地图,都需要向你发出一个邀请才能使用其功能,一直不知道如何实现,前两天在网上找了一下资料,终于明白了点.
刚开始以为需要实现MSN插件或自己编写一个MSN,原来不需如此,要实现类似功能应该比较简单,只是针对共享的活动必须完全由自己实现。
这种功能应该叫MSNMessenger Activity,MS的站点上有一个MSNMessengerActivitySDK.zip 可以下载,里面讲述了具体的原理及实现。
大概步骤如下:
在安装MSN的目录下建立一个Msgrp2p.xml文件,在另一台被邀请的机器上也应该有这个文件,文件的示例内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<Entry>
  <EntryID>7</EntryID>
  <Error />
  <Locale>en-us</Locale>
  <Kids>1</Kids>
  <Page>1</Page>
  <Category>50</Category>
  <Sequence>10</Sequence>
  <Name>活动名称</Name>
  <Description>活动描述</Description>
  <URL>http://10.105.50.63/msndemo/</URL>
  <IconURL />
  <PassportSiteID>0</PassportSiteID>
  <Type>App</Type>
  <Height>500</Height>
  <Width>500</Width>
  <Location>side</Location>
  <MinUsers>2</MinUsers>
  <MaxUsers>2</MaxUsers>
  <PassportSiteID>0</PassportSiteID>
  <EnableIP>False</EnableIP>
  <ActiveX>False</ActiveX>
  <SendFile>False</SendFile>
  <SendIM>False</SendIM>
  <ReceiveIM>False</ReceiveIM>
  <ReplaceIM>False</ReplaceIM>
  <Windows>False</Windows>
  <MaxPacketRate>120</MaxPacketRate>
  <UserProperties>False</UserProperties> 
  <ClientVersion>6.0</ClientVersion>
  <AppType>0</AppType> 
  <Hidden>false</Hidden>
</Entry>

Name表示显示的活动名称,即发起邀请时显示的名称;
URL表示这个活动所在的地址, 要注意的是这个地址必须两台机器都能访问.
其它具体的参数说明在SDK文档中有详细说明。

将上面的文件分别拷贝到两台机器的MSN目录之后,当这两台机器的MSN开始对话时,即可在对话框的"操作"菜单中看到新增了一项"启动 XXXXX"菜单, 点击此菜单之后, 另一台机器上将出现邀请的连接。点“接受”之后两台机器上将再现对应的URL网页。


上面所说的只是一个开始,如果需要两个MSN实现真正的交互, 还需要在访问的URL中获取两个MSN的相关信息, 然后根据每个人的操作, 实现互动功能。
但xiaoi机器人并未在我的MSN目录下拷贝Msgrp2p.xml,实现原理估计有点差别, 以后有机会再研究了。

原文地址:https://www.cnblogs.com/margiex/p/572722.html