犬者
“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”

【电脑】奇妙的MSN

开始折腾“风中之猪”了……

“风中之猪”是基于DotMSN的。

DotMSN真是他妈的强大。它把MSN的协议封装得非常非常好。带的Example也是非常实用,让人一看便能够举一反三,做出更多的东西来。

终于有点了解多线程程序是怎么写的了。

Well,偶这篇blog不是要说DotMSN或者是“风中之猪”的。我要说的是MSN Messenger。


MSN其实有四个列表:ForwardList,AllowedList,ReverseList,BlockedList

我们平时看到的联系人列表其实只是:ForwardList而已。

当我们看到ForwardList中的联系人上线的时候,MSN服务器便允许我们向这些联系人发送讯息。

我们平时指的MSN150个好友的上限,便是指这个ForwardList只能够有150个联系人了。

ReverseList则是表示将我们加为联系人的MSN用户。

我们添加了某个联系人之后,其实就是将我们添加到了对方的ReverseList当中。我们是无法修改ReverseList这个列表的。这个列表是没有联系人上线的。所以,虽然我们只能够有150人的好友,但是,是可以有无数个人添加我们为好友的。

AllowedList则是表示可以查看我们的状态以及向我们发送讯息的MSN用户列表。这个列表也是没有上限的。

所以,有些人即使不在我们的ForwordList/朋友列表里面,他们还是可以给我们发送讯息。

AllowedList中能够有的又不仅是某个MSN用户,它还可以有“所有其他用户”这个特殊的东西。也就是说,如果我们添加“所有其他用户”的话,所 有的MSN在默认情况下都可以向我们发送讯息。他们不需要将我们加为朋友,不需要把我们加入到他们的ForwardList里面。

BlockedList则是保存我们“阻止”的MSN用户列表了。一个用户一但被我们放到BlockedList里面,他无论如何都是无法查看我们的状态或者是发送讯息了。同样的这个列表也是可以有“所有其他用户”这个特殊的玩意。


早期的MSN,“所有其他用户”是默认在AllowedList里面的,所以,我们只要知道对方的MSN帐号,便可以立即向对方发送讯息,如果对方在线的话。

后来,应该是搞骚扰的人多了,“所有其他用户”默认被放到BlockedList里面了,所以,我们现在一般只能够通过添加对方为自己的联系人才能够与其对话。

一般情况下,我们添加一个联系人的时候,对方会同时进入我们的ForwardList以及AllowedList里面。

但是,我们删除已有的联系人,却只是将其从我们的ForwardList里面删除,对方的帐号还是会在我们的AllowedList里面,对方还是可以看到我们的帐号状态,以及跟我们说话。

除非,我们在删除的时候,同时阻止了对方,也就是说,将对方加入到我们的BlockedList里面。

这便出现了一个问题……AllowedList似乎会是永远增长的。MSN Messenger并没有提供任何手段让我们修改这个List。只要是在这里面出现过的帐号,要么就永远在AllowedList里面,要么就会被扔到BlockedList里面。

BlockedList里面名单也是没有办法消除了。

我是说,只要我们曾经添加过某个联系人。那么他的帐号便似乎永远都会在这四个列表里面。

很奇怪很奇怪。


事实上,还是可以直接修改这ForwardList/AllowedList/BlockedList三个列表中的名单的。只是,我们无法直接通过MSN Messenger来做这个操作而已;至少,MSN Messenger 6.2不行。

微软似乎也从来没有想要让普通用户知道ReverseList/AllowedList/BlockedList这三个列表的存在。

还有其他一些奇妙的事情。

如果A在B的ForwardList里面,也就是说A是B的联系人、是B的朋友、B想要跟A说话。

但是B并不在A的AllowedList里面。那么B是无法即时查看A的状态的。

如果“所有其他用户”是在A的AllowedList里面的话,那么,B是可以直接跟A说话的。

也就是说,可以出现跟“不在线”的MSN联系人对话的情况。

呼呼……刚刚忘了截屏了,真是遗憾。


我再继续说清楚一些……

其实,所谓的“所有其他用户”并不是一个特殊的MSN用户,而是一个MSN隐私设定而已。

所谓的AllowedList,虽然决定了我们ReverseList中的人是否能够查看我们的状态以及向我们发送讯息;但是,它其实只是决定他们能否查看我们的状态而已。

别人不是不能够向我们发送讯息,而是如果他们不在我们AllowedList里面的话,他们不能够确定我们是否在线,既然他们不知道我们是否在线,他们便不能够通过普通的方式向我们发送讯息了。

同样的,如果他们不在我们的AllowedList跟ForwardList里面,我们也是没法通过普通方式跟对方发送讯息。

并且,在这样的情况下,别人要给我们发送讯息,要比我们给他们发送讯息简单。

是的,没有错。前者比后者简单。至于简单、复杂在哪些地方,偶这里就先不说了;因为,我自己也不是很确定。

否则,我们便可以通过无限制的AllowedList跟ReversedList来突破ForwardList的150个人的限制了。

很奇妙的……MSN背后的协议是很复杂的……且不论它的技术实现,光这四个List的设定便是很耐人寻味了……



仔细想想,微软搞这么四个List,是有它的道理的……奇妙的MSN……

呼呼……也许,我有心情的话,会继续写blog来说“风中之猪”以及DotMSN的使用。

到目前为止,似乎国内还是没有人介绍如何调用DotMSN。国外的,我没有Google。

不知道QQ、ICQ等又是怎么处理用户列表的……
7004
问天 @2/14/2005 7:27:22 AM
View blogs in this category:电脑


无名氏 在 3/7/2006 11:01:35 AM 说:

  本来是寻找MSN联系人添加/删除内容的,又看到你的签名档很有味,呵呵。
常建昭 在 2/16/2005 8:24:34 AM 说:

我觉的这很有意思,希望能看到你的更多文章,有时间我也想去尝试一下。
方遒 在 2/14/2005 2:03:53 PM 说:

省略号渐渐少了,这是一个好现象。

Please leave your comment here

 
  名字:
  主页:
  内容:
 

   


Navigation
Blogwind
犬者首页
Contact


个人档案


“说了你又不听,听又不懂,懂又不做,做又做错,错又不认,认又不改,改又不服,不服也不说,那叫我怎么办?!”



Categories
死结(27)
电脑(171)
心情(175)
天影(25)
乱弹(204)
博客(80)
音乐(18)
饕餮(30)
读书(19)
电影(27)
网摘(5)
希望(31)
汕头(10)
经济(5)
苹果(19)
跋涉(3)



Archive
2008年8月
2008年7月
2008年6月
2008年5月
2008年4月
2008年3月
2008年2月
2008年1月
2007年12月
2007年11月
2007年10月
2007年9月
2007年8月
2007年7月
2007年6月
2007年5月
2007年4月
2007年3月
2007年2月
2007年1月
2006年12月
2006年11月
2006年10月
2006年9月
2006年8月
2006年7月
2006年6月
2006年5月
2006年4月
2006年3月
2006年2月
2006年1月
2005年12月
2005年11月
2005年10月
2005年9月
2005年8月
2005年7月
2005年6月
2005年5月
2005年4月
2005年3月
2005年2月
2005年1月
2004年12月
2004年11月
2004年10月
2004年9月
2004年8月
2004年7月
2004年6月
2004年5月
2004年4月
2004年3月
2004年2月
2004年1月
2003年12月



My Links
5G
bloglines
时尚摄影师奇科的博客
我们的漫画
颜如玉
最爱卫斯理

RSS 2.0

Username:
Password:
 Remember me