MSN 握手协议和信息交换(3)
9.同步本地联系人列表
客户端向服务器发送本地保存的联系人列表版本号:
SYN 8 0/r/n
第二个参数就是当前的联系人列表的版本号,0 表示本地没有任何联系人的信息服务器回应客户端服务器上联系人列表的版本号:
SYN 8 1056 68 5/r/n
第二个参数是服务器上当前联系人类标的版本号,如果客户端的版本号和服务器上的版本号相同,
则没有后面的两个参数;第三个参数为期望的LST命令个数;第四个参数为期望的LSG命令个数
如果版本号不同,则服务器将输入GTC BLP命令:
GTC A/r/n
BLP AL/r/n
如果您设置了电话好吗PRP命令将被服务器输出
PRP PHH 86%2020551%205316777/r/n
第一个参数为电话好吗类型,PHH表示家庭电话,PHW 表示工作电话, PHW表示移动电话; 第二个参数为电话好吗
服务器使用LSG命令输出组名称到客户端
LSG 0 /345/205/266/344/273/226/350/201/224/347/263/273/344/272/272 0/r/n
//其他联系人
LSG 1 /345/220/214/344/272/213 0/r/n //同事
LSG 2 /346/234/213/345/217/213 0/r/n //朋友
LSG 3 /345/246/266/344/272/272 0/r/n //家人
LSG 4 /350/200/201/345/220/214/345/255/246 0/r/n //老同学
LSG 命令没有TrID参数,第一个参数是组的序号,第二个参数是组的名称,第三个参数一般为0
服务器使用LST命令输出联系人列表到客户端:
LST ahxcfj#263.net /345/206/257/344/277/212 13 4/r/n
LST yizhixu#hotmail.com /345/276/220/347/233/212/346/231/272 4/rn
...
BPR PHH 86%20551%203637661/r/n
BPR PHM 86%2013515515441/r/n
LST ywhot#hotmail.com /302/240:[(so)(f):[Wilsom 11 2/r/n
LST命令可能有三个或者四个参数,不使用TrID参数;第一个参数是联系人的PassPort用户名,
也就是联系人的登录名;第二个参数为联系人的昵称;第三个参数是该联系人在您的联系人列表中的数值;
第四个参数不一定存在,当对方在您的联系人列表中时,该参数表示所属组,对应组的序号.
第三个参数确定方法如下:
在MSN中有四种列表,AllowList(简写: AL), Block List(简写: BL), Forward List(简写: FL), Reverse List(RL),
处于Allow List中的联系人可以向您发送信息,处于Block List中的联系人不能向您发送信息,在Forward List
中的联系人才会现实在界面上联系人列表中,表示您可以向他发送消息,在Reverse List中的联系人才可以向你发送消息,
同事也表明该联系人将加入他的Forward List.一个联系人可以处在不同的里表中,为了表示他所处的列表值,
现在用8421四个值分别表示他们的权值,AL 权值为2 BL权值为4, FL权值为 1, RL权值为8. 将联系人处在列表的权值
加即得到上LST命令中的三个参数, 第三个参数有如下几种可能.
11: AL=true, BL=false, FL= true, RL=true, 权值为2+0+1+8=11
表示该联系人在您的列表中你也在他的列表中,同事可以和他会话.
3: AL= true, BL=false, FL=true, RL=false 权值为2+0+1+0=3
表示该联系人在您的列表中,但是您不在他的列表中同事可以和他会话
10: AL=true, BL=false, FL=false, RL=true, 权值为2+0+0+8=10
表示该联系人不在您的列表中,但是您在他的列表中, 同事可以和他会话
13: AL=false, BL=true, FL=true, RL=true,权值为0+4+1+8=13
表示该联系人在您的列表中,您也在他的列表中但您阻止了他
12: AL=false, BL=true, FL=false, RL=true ,权值为0+4+0+8=12
表示该联系人不在您的列表中,但您在他的列表中, 您阻止了他.
5:AL= false, BL=true, FL=true, RL=false, 权值为 0+4+1+0=5
表示该联系人在您的列表中,但您不在他的列表中, 您阻止了他
2:AL=true, BL=false, FL=false, RL= false,权值为2+0+0+0=2
表示该联系人不在您的列表中,您也不在他的列表中,您阻止了他
4:AL=false, BL=true, FL=false, RL=false, 权值为0+4+0+0=4
表示该联系人不在您的列表中, 您也不在列表中,您组主了他.
2和4是在于您针对"所有其他用户"的设置.
下一节将介绍取得在线人员名单发送上线通知,欲知详情,请听下回分解.
客户端向服务器发送本地保存的联系人列表版本号:
SYN 8 0/r/n
第二个参数就是当前的联系人列表的版本号,0 表示本地没有任何联系人的信息服务器回应客户端服务器上联系人列表的版本号:
SYN 8 1056 68 5/r/n
第二个参数是服务器上当前联系人类标的版本号,如果客户端的版本号和服务器上的版本号相同,
则没有后面的两个参数;第三个参数为期望的LST命令个数;第四个参数为期望的LSG命令个数
如果版本号不同,则服务器将输入GTC BLP命令:
GTC A/r/n
BLP AL/r/n
如果您设置了电话好吗PRP命令将被服务器输出
PRP PHH 86%2020551%205316777/r/n
第一个参数为电话好吗类型,PHH表示家庭电话,PHW 表示工作电话, PHW表示移动电话; 第二个参数为电话好吗
服务器使用LSG命令输出组名称到客户端
LSG 0 /345/205/266/344/273/226/350/201/224/347/263/273/344/272/272 0/r/n
//其他联系人
LSG 1 /345/220/214/344/272/213 0/r/n //同事
LSG 2 /346/234/213/345/217/213 0/r/n //朋友
LSG 3 /345/246/266/344/272/272 0/r/n //家人
LSG 4 /350/200/201/345/220/214/345/255/246 0/r/n //老同学
LSG 命令没有TrID参数,第一个参数是组的序号,第二个参数是组的名称,第三个参数一般为0
服务器使用LST命令输出联系人列表到客户端:
LST ahxcfj#263.net /345/206/257/344/277/212 13 4/r/n
LST yizhixu#hotmail.com /345/276/220/347/233/212/346/231/272 4/rn
...
BPR PHH 86%20551%203637661/r/n
BPR PHM 86%2013515515441/r/n
LST ywhot#hotmail.com /302/240:[(so)(f):[Wilsom 11 2/r/n
LST命令可能有三个或者四个参数,不使用TrID参数;第一个参数是联系人的PassPort用户名,
也就是联系人的登录名;第二个参数为联系人的昵称;第三个参数是该联系人在您的联系人列表中的数值;
第四个参数不一定存在,当对方在您的联系人列表中时,该参数表示所属组,对应组的序号.
第三个参数确定方法如下:
在MSN中有四种列表,AllowList(简写: AL), Block List(简写: BL), Forward List(简写: FL), Reverse List(RL),
处于Allow List中的联系人可以向您发送信息,处于Block List中的联系人不能向您发送信息,在Forward List
中的联系人才会现实在界面上联系人列表中,表示您可以向他发送消息,在Reverse List中的联系人才可以向你发送消息,
同事也表明该联系人将加入他的Forward List.一个联系人可以处在不同的里表中,为了表示他所处的列表值,
现在用8421四个值分别表示他们的权值,AL 权值为2 BL权值为4, FL权值为 1, RL权值为8. 将联系人处在列表的权值
加即得到上LST命令中的三个参数, 第三个参数有如下几种可能.
11: AL=true, BL=false, FL= true, RL=true, 权值为2+0+1+8=11
表示该联系人在您的列表中你也在他的列表中,同事可以和他会话.
3: AL= true, BL=false, FL=true, RL=false 权值为2+0+1+0=3
表示该联系人在您的列表中,但是您不在他的列表中同事可以和他会话
10: AL=true, BL=false, FL=false, RL=true, 权值为2+0+0+8=10
表示该联系人不在您的列表中,但是您在他的列表中, 同事可以和他会话
13: AL=false, BL=true, FL=true, RL=true,权值为0+4+1+8=13
表示该联系人在您的列表中,您也在他的列表中但您阻止了他
12: AL=false, BL=true, FL=false, RL=true ,权值为0+4+0+8=12
表示该联系人不在您的列表中,但您在他的列表中, 您阻止了他.
5:AL= false, BL=true, FL=true, RL=false, 权值为 0+4+1+0=5
表示该联系人在您的列表中,但您不在他的列表中, 您阻止了他
2:AL=true, BL=false, FL=false, RL= false,权值为2+0+0+0=2
表示该联系人不在您的列表中,您也不在他的列表中,您阻止了他
4:AL=false, BL=true, FL=false, RL=false, 权值为0+4+0+0=4
表示该联系人不在您的列表中, 您也不在列表中,您组主了他.
2和4是在于您针对"所有其他用户"的设置.
下一节将介绍取得在线人员名单发送上线通知,欲知详情,请听下回分解.