MSNP10协议分析 02.同步 [by progsoft]

来源:互联网 发布:2016年云南旅游数据 编辑:程序博客网 时间:2024/04/27 13:23

先给出一个成功同步案例
>>>  SYN 8 0 0/r/n
<<<  SYN 8 2004-06-24T02:30:09.5170000-07:00 2004-07-15T05:59:26.8770000-07:00 6 3/r/n
<<<  GTC A/r/n
<<<  BLP BL/r/n
<<<  PRP MFN example_nickname/r/n
<<<  PRP MBE N/r/n
<<<  PRP WWE 0/r/n
<<<  LSG Group_Name1 c20fb8b6-53ca-451d-970f-48b1a1b69c4f/r/n
<<<  LSG Group_Name2 bcad589c-ca2d-4aa7-88fd-a998ddd2afcc/r/n
<<<  LSG Group_Name3 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
<<<  LST N=user01@hotmail.com F=user1_name C=625919e4-43a2-3fc3-8558-435423babcd8 3 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
<<<  LST N=user02@hotmail.com F=user2_name C=621394e5-09a6-5fc3-8a58-340344315afa 3/r/n
<<<  LST N=user03@hotmail.com F=user3_name C=5e542365-0096-4fc3-a858-05332315cbe8 11 c20fb8b6-53ca-451d-970f-48b1a1b69c4f/r/n
<<<  LST N=user04@hotmail.com F=user4_name C=1322c193-09c6-4f73-95aa-05eafdfaf5e5 11 bcad589c-ca2d-4aa7-88fd-a998ddd2afcc/r/n
<<<  LST N=user05@hotmail.com F=user5_name C=8d534343-0096-47c3-0548-05e143abece4 11 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
<<<  LST N=user06@hotmail.com 2/r/n

歇口气,我们已经获得好友列表成功~!

下面我们给出一个说明。

在本操作过程中,实现客户端同步服务器数据
客户端发送>>>  SYN 8 0 0/r/n
服务器回应<<<  SYN 8 2004-06-24T02:30:09.5170000-07:00 2004-07-15T05:59:26.8770000-07:00 6 3/r/n
2004-06-24T02:30:09.5170000-07:00,指出最后好友改变时间
2004-07-15T05:59:26.8770000-07:00,指出最后分组改变时间
6,指出好友数目
3,指出分组数目

服务器回应<<<  GTC A/r/n
GTC 指出当有其他人将我添加他们的联系人名单请通知我的状态
A 表示通知,N 表示不通知

服务器回应<<<  BLP BL/r/n
BLP 指出是否位于我“允许名单”的人才能查看我的状态或向我发消息
BL 表示是 AL 表示否

服务器回应<<<  PRP MFN example_nickname/r/n
PRP MFN example_nickname 指出用户昵称

服务器回应<<<  PRP MBE N/r/n
服务器回应<<<  PRP WWE 0/r/n
PHH - 家庭电话
PHW - 办公电话
PHM - 移动电话
MOB - are other people authorised to contact me on my MSN Mobile device?
MBE - do I have a mobile device enabled on MSN Mobile?

服务器回应<<<  LSG Group_Name1 c20fb8b6-53ca-451d-970f-48b1a1b69c4f/r/n
服务器回应<<<  LSG Group_Name2 bcad589c-ca2d-4aa7-88fd-a998ddd2afcc/r/n
服务器回应<<<  LSG Group_Name3 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
这3个回应给出了,用户的分组情况
语法结构为:
LSG<SP>分组名称<SP>分组GUID<CRLF>
LSG 指出命令为分组情况
分组名称 指出自定义分组名称
分组GUID 指出分组的唯一识别号

服务器回应<<<  LST N=user01@hotmail.com F=user1_name C=625919e4-43a2-3fc3-8558-435423babcd8 3 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
服务器回应<<<  LST N=user02@hotmail.com F=user2_name C=621394e5-09a6-5fc3-8a58-340344315afa 3/r/n
服务器回应<<<  LST N=user03@hotmail.com F=user3_name C=5e542365-0096-4fc3-a858-05332315cbe8 11 c20fb8b6-53ca-451d-970f-48b1a1b69c4f/r/n
服务器回应<<<  LST N=user04@hotmail.com F=user4_name C=1322c193-09c6-4f73-95aa-05eafdfaf5e5 11 bcad589c-ca2d-4aa7-88fd-a998ddd2afcc/r/n
服务器回应<<<  LST N=user05@hotmail.com F=user5_name C=8d534343-0096-47c3-0548-05e143abece4 11 76f9948f-3f7a-43fb-a3c5-f29ee6b32813/r/n
服务器回应<<<  LST N=user06@hotmail.com 2/r/n
这6个回应给出了,用户的好友情况
语法结构为:
LST<SP>N=好友passport[<SP>F=好友呢称<SP>C=好友GUID]<SP>好友关系[<SP>分组GUID]/r/n

LST 指出命令为好友情况
N=好友passport 指出好友的passport
F=好友呢称 指出好友的呢称
C=好友GUID 指出好友的唯一识别号
分组GUID 指出好友所在分组的唯一识别号,无此项表示未加好友或未在分组

好友关系 指出与好友双方的关系情况
FL前向列表,表示该好友,已经添加
AL允许列表,表示该好友能查看我的状态或向我发消息
BL阻止列表,表示该好友不能查看我的状态或向我发消息
RL反向列表,表示该好友已经添加我为好友
PL Phone List,作用不明
1=FL
2=AL
4=BL
8=RL
16=PL
其他状态为上述,状态的叠加如3=FL+AL,11=FL+AL+RL等等

至此,我们已经获得了所有好友列表。

原创粉丝点击