2004年12月05日

好久没写了,一直忙着没空,呵呵

星期六也加班,还不给我放假。变态鬼子~

臭猪又找别人玩,气死我了。知道我会不高兴的,还老是这样,,

好久没听南京音乐台了,主持人都不知道谁了,一听就想起大学里带着耳机听音乐台睡觉的日子,,好怀念阿~~~~~~~~~~~~~~~

主持人的风格还是老样子,呵呵,我觉得南京的电台最好,有点歌的冲动。

过会买菜去

2004年10月27日

好久没有这么看不起一个人了,呵呵

也好,总算有点向上的动力了

希望能有不错的效果,那样的话还要谢谢他的。

平生最讨厌的就是在日本人面前说中国人坏话,

你他姥姥的说你自己多丢人就行了,别她妈的扯大家好不好!

幸亏是现代社会,,,md,老子火大

2004年10月26日

去了一次东京今天,面试。

没想到这么顺利就通过了,下星期就要离开名古屋了,住了这么长时间还真舍不得这里。

不知道去了东京会怎么样?说不定就没机会再到名古屋了,是我工作的转折点么?呵呵

害怕去了东京工作太累得,害怕没时间跟猪交流,害怕宿舍没有网络。。。

2004年10月17日

最近项目不是很忙,又叫我学什么CURL,真是变态。

终于决定自己动手写一个MSN客户端了,总觉得用别人已经提供的库来开发不能体现我辈的DIY精神,呵呵,好在这个msn协议还算简单的。完成了登陆,挑战,获得用户列表的功能。

为老婆的事情这两天头也大了,一点写的心思都没有,,唉~~这只猪怎么总搞这么危险的东东阿?

不知道能不能安然的度过这次的,好担心阿,好在这只猪应该还算福大命大的,希望你没事了。

 

 

2004年10月07日

http://www.hypothetic.org/docs/msn/general/commands.php#async

1. 连 接

MSN Messenger协议建立在TCP/IP之上。除了文件传输和语音聊天是直接的”点对点”通信之外,其它所有的情形全部通过服务器进行。

在逻辑上,一共有三种类型的服务器,各司其职:

  • 派遣服务器(Dispatch Server, DS) – 客户端最初连接的服务器。负责给客户端分配合适的通知服务器。域名是messenger.hotmail.com,标准服务端口是1863。完成派遣任务后,切断TCP连接。
  • 通知服务器(Notification Server, NS) – 客户端需要一直保持连接的服务器。很多任务要在这个会话内完成,包括登录、改变状态、获取用户列表、修改用户信息、发起聊天、接受呼叫、邮件通知、退出等等。服务端口由派遣服务器指定,通常也是1863。
  • 接线服务器(Switchboard Server, SS) – 客户端之间聊天使用的中转服务器。每开一个聊天窗口,客户端和服务器就建立一个TCP会话。当客户端之间需要进行文件传输或语音聊天时,发送系统消息,建立”点对点”会话通道(可能转为使用UDP)。服务端口通常也是1863。”点对点” 通信使用的端口由客户端自动协商决定,如文件传输通常使用6891端口。

    2. 命 令

    MSN Messenger命令使用纯ASCII码。对非ASCII码字符使用URL编码。命令的语法是

    XXX[<SP>TrID<SP>PARAM1<SP>PARAM2…]<CRLF>

    其中,<SP>是空白字符,<CRLF>是回车换行,XXX是一个3字符的命令串,TrID是一个流水号,PARAMx是参数,[ ]内是可选项。最简单的命令没有流水号和参数。为了方便起见,下面讨论时用” “代表<SP>,”\r\n”代表<CRLF>,”\x??”代表一个值为0x??字节。红色表示由客户端发出,蓝色表示由服务器发出。一个MSN Messenger命令的例子如下:

    USR 18 TWN I example@hotmail.com\r\n

    3. 错 误

    无论是由于客户端发出的命令无效,参数无效,还是其他什么原因,服务器可以返回一个错误。格式为

    XXX[<SP>TrID]<CRLF>

    其中,XXX是一个3位数字的串。如

    ADD 21 AL non_existent@passport.com non_existent@passport.com\r\n 205 21\r\n

    上例中,non_existent@passport.com是一个不存在的账号。

    4. 消 息

    MSN Messenger消息符合MIME 1.0标准,由消息头与消息体组成。通常使用UTF-8编码,消息头中也需要URL编码格式,消息体则直接用二进制数据。

    一个MSN Messenger消息的例子如下:

    MIME-Version: 1.0\r\n Content-Type: text/plain; charset=UTF-8\r\n X-MMS-IM-Format: FN=%E5%AE%8B%E4%BD%93; EF=; CO=0; CS=86; PF=0\r\n \r\n bhw98\xE4\xBD\xA0\xE5\xA5\xBD\xEF\xBC\x81

    经简单分析可知,”%E5%AE%8B%E4%BD%93″是”宋体”的UTF-8加URL编码,而”bhw98\xE4\xBD\xA0\xE5\xA5\xBD\xEF\xBC\x81″是”bhw98你好!”的UTF-8编码。

    命令一览

    命令 来源 去向 说明 备注
    ACK SS Client 确认,做出肯定回答。 acknowledgement
    ADD Client NS 发出添加新联系人到列表的请求。 add user
    NS Client 返回添加新联系人请求的应答。
    ADG Client NS 发出添加新联系人组请求。 add group
    NS Client 返回添加新联系人组请求的应答。
    ANS Client SS 接受聊天连接请求。 answer
    BLP Client NS 设置对尚未列入明确允许/禁止的联系人列表的保密策略。 block list privacy
    NS Client 返回设置保密策略请求的应答。
    BYE SS Client 通知客户端结束会话。 bye
    CAL Client SS 发出建立聊天连接的请求。 call
    SS Client 返回建立聊天连接请求的应答。
    CHG Client NS 发出改变状态的请求。 change state
    NS Client 返回改变状态的应答。
    CHL NS Client 服务器发出验证要求。 challenge
    SS Client
    CVR Client NS 发出客户端的OS、语言、MSN Messenger版本等信息。 client version
    Client SS
    NS Client 返回推荐的MSN Messenger版本、升级软件需要的下载地址等信息。
    SS Client
    FLN NS Client 通知有联系人列表中的用户下线。 off-line
    GTC Client NS 设置当有联系人列表中的用户状态改变时给出的提示。 greeting to changes?
    NS Client 返回设置请求的应答。
    INF Client NS 询问服务器所支持的认证方式。 information?
    Client SS
    NS Client 返回服务器所支持的认证方式。
    SS Client
    ILN NS Client 当客户端登录或添加联系人到列表时,通知列表中的联系人的状态。 initial online state
    IRO SS Client 当有新用户加入聊天连接时,通知客户端该连接中的用户名单。 initial roster information
    JIO SS Client 通知客户端已经同另外的用户建立了聊天连接。 jion
    LSG Client NS 发出获取联系人组列表的请求。 list groups
    NS Client 返回获取联系人组列表请求的应答。
    LST Client NS 发出获取联系人列表的请求。 list
    NS Client 返回获取联系人列表请求的应答。
    MSG Client SS 发送消息到其他用户(聊天对象)。 message
    NS Client 传递服务器(系统) 的消息到客户端。
    SS Client 传递其他用户(聊天对象)的消息到客户端。
    NAK SS Client 做出否定回答。 negative acknowledgement
    NLN NS Client 通知客户端联系人上线或改变状态。 on-line
    OUT All All 结束客户端-服务器的连接。 out
    PNG Client NS 测试TCP连接状态。 ping
    Client SS
    PRP Client NS 发出设置个人电话号码的请求。 personal phone number
    NS Client 返回设置请求的应答
    PNG Client NS 测试TCP连接状态。 ping
    Client SS
    QNG NS Client 返回测试TCP连接状态的应答。 quiz ping?
    SS Client
    QRY Client NS 客户端回答服务器的验证要求。 quiz reply?
    Client SS
    REA Client NS 发出修改用户昵称的请求。 rename nickname
    NS Client 返回修改用户昵称请求的应答。
    REG Client NS 发出修改联系人组的请求。 rename group
    NS Client 返回修改联系人组请求的应答。
    REM Client NS 发出从联系人列表中删除用户的请求。 rename user
    NS Client 返回删除用户请求的应答。
    RMG Client NS 发出删除联系人组的请求。 remove group
    NS Client 返回删除联系人组请求的应答。
    RNG NS Client 通知客户端有人要建立聊天连接。 ring
    SYN Client NS 客户端-服务器同步。 synchronization
    NS Client
    URL Client NS 发出获取MSN服务URL的请求。 URL
    NS Client 返回获取URL请求的应答。
    USR All All 声明、传递、鉴别用户身份。 user
    VER Client DS 协商MSN Messenger协议版本。 version
    Client NS
    DS Client
    NS Client
    XFR DS Client 向客户端分配NS(通知客户端转向连接指定的NS)。 transfer
    Client NS 发出分配SS的请求。
    NS Client 返回分配SS请求的应答。

    MSN Messenger协议–错误代码一览

    代码 含义 可能的命令 错误示例 备注
    200 非法命令   ABC 18\r\n
    200 18\r\n
     
    201 非法参数   CHG 19 FLN 0\r\n
    201 19\r\n
    ADD 20 AL aaa@bbb@ccc aaa@bbb@ccc\r\n
    201 20\r\n
     
    205 用户不存在 ADD ADD 21 AL none@hotmail.com none@hotmail.com\r\n
    205 21\r\n
     
    206 缺少域名  
    207 已经登录 USR USR 20 TWN I example@hotmail.com\r\n
    207 20\r\n
    USR 21 TWN S 8d30fc782aa25ec9e1293fdda13cab42\r\n
    207 21\r\n
     
    208 非法用户名 CAL CAL 2 @@hotmail.com\r\n
    208 2\r\n
     
    209 非法用户昵称 REA REA 18 one@hotmail.com kill%20microsoft\r\n
    209 18\r\n
     
    210 用户太多 ADD ADD 23 FL one@hotmail.com one@hotmail.com 0\r\n
    210 23\r\n
    最大150
    215 用户已在列表中 ADD ADD 36 FL one@hotmail.com one@hotmail.com 2\r\n
    ADD 36 825 FL one@hotmail.com one@hotmail.com 2\r\n
    ADD 37 FL one@hotmail.com one@hotmail.com 2\r\n
    215 37\r\n
    CAL CAL 5 two@hotmail.com\r\n
    CAL 5 RINGING 213697\r\n
    CAL 6 two@hotmail.com\r\n
    215 6\r\n
    216 用户不在列表中 REM REM 14 FL three@hotmail.com\r\n
    216 14\r\n
    REA REA 48 three@hotmail.com three\r\n
    216 48\r\n
    CAL CAL 2 three@hotmail.com\r\n
    216 2\r\n
    217 用户不在线 CAL CAL 2 two@hotmail.com\r\n
    217 2\r\n
    218 已在指定模式 BLP BLP 17 BL\r\n
    BLP 17 151 BL\r\n
    BLP 18 BL\r\n
    218 18\r\n
    GTC GTC 19 A\r\n
    GTC 19 152 A\r\n
    GTC 20 A\r\n
    218 20\r\n
    219 用户已经在相反的列表中 ADD ADD 15 AL four@hotmail.com four@hotmail.com\r\n
    ADD 15 AL 56 four@hotmail.com four\r\n
    ADD 16 BL four@hotmail.com four@hotmail.com\r\n
    219 16\r\n
    223 用户组太多 ADG ADG 28 new%20group 0\r\n
    223 28\r\n
    最大30
    224 非法组号 ADD RMG 24 3\r\n
    RMG 24 11506 3\r\n
    ADD 25 FL five@hotmail.com 3\r\n
    224 25\r\n
    REM RMG 24 3\r\n
    RMG 24 11506 3\r\n
    REM 25 FL five@hotmail.com 3\r\n
    224 25\r\n
    REG RMG 24 3\r\n
    RMG 24 11506 3\r\n
    REG 25 3 New%20Name 0\r\n
    224 25\r\n
    RMG RMG 24 3\r\n
    RMG 24 11506 3\r\n
    RMG 25 3\r\n
    224 25\r\n
    225 用户不在组中 REM REM 26 FL six@hotmail.com 3\r\n
    225 26\r\n
    229 组名太长 ADG ADG 27 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 0\r\n
    229 27\r\n
    最大60
    230 不能删除组0 RMG RMG 28 0\r\n
    230 28\r\n
    300 缺少必要的参数      
    302  尚未登录      
    500 服务器内部错误      
    540 验证应答错误      
    600 服务器忙      
    707 无法建立连接      
    910 服务器忙      
    911 身份验证失败    
  • 2004年09月05日

    又是地震又是台风的,唉,还让不让人活啊?

    看到隔壁县已经有3075人避难了,真是有点担心啊~

    不过想来老子命大,应该没事吧,呵呵

    想老婆的,不知道她现在睡着了没,亲亲~

    昨天她说被同事吓唬了一下,害怕的,睡不着觉,呵呵,搞的我到陪她到三点,

    想来也是不错的,还是先睡觉了,地震再说吧,,我操你奶奶的鬼子国~~~~~~~~~

    2004年08月16日

    希望老婆自己能照顾自己好一点,

    只猪总是让人操心,哎,,,呵呵,也没办法,

    或许没了操心的话会更不好

    2004年08月15日

    现在休息时间长了会有休息综合怔,浑身不舒服。

    星期六和三个鬼子妹去了内海玩,第一次看到海,在海里游泳,呵呵

    虽然咸水的感觉不是很好, 但是玩的还是不错的~!

    第一次上岸差点找不到下水放鞋子的地方,绕海滩找了N遍才找到,郁闷,还累我多买了一双拖鞋

    400两银子又飞走了。

    吃饭的时候居然有家面点叫支那そば的,支你妈个X啊,别想有中国人来吃了,切!~~~~~

    皮肤都晒红了, 本来以为以前那么晒都没事,这次应该也没问题的,第二天起床背上的皮都不能碰了,碰了就会疼,这样也行??昏的

    周报本来还指望老大能美言我两句的,,哎,,,现在看来是没希望了,好在机会多的是,时间也还有,,哈哈,谁让咱是他妈的金子呢,???不发光发热行吗,,,

    破项目还有一个多月,快完吧,虽然还有下一个项目,真的感觉好累啊,!!!

    饿死了, 没吃多少东西,想吃晚饭了

    2004年07月29日

    每天吃过午饭都要小睡十几分钟,醒来再戴上眼镜的时候,总有至尊宝带上紧箍咒的感觉。

    Faint~~~~,耳边总是观音姐姐的话:“悟空,当你当上了紧箍,你就能变成法力无边的齐天大圣,尘世间的一切你也不能再留恋”。

    我还是留恋尘世间的一些东西的,比如说我老爸老妈,我女朋友,我亲朋好友们。

    呵呵,,但是我能变成法力无边的齐天大圣么??没兴趣