转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
用VB编写你自己的MSN即时通讯软件1         ★★★★

用VB编写你自己的MSN即时通讯软件1

作者:闵涛 文章来源:闵涛的学习笔记 点击数:973 更新时间:2009/4/23 15:03:32

 

  你用VB已经有很长时间了,一直疑惑MSN是如何工作的。现在你不用再为这个问题苦恼了,这篇文章不仅告诉你MSN是如何工作的,甚至还告诉你如何用VB编出你自己的MSN即时通讯软件。

  我们可以把MSN的工作机制分成两个阶段:
  认证阶段
  认证阶段包括登陆到MSN即时通的服务器并且取得好友列表

  即时通讯阶段
  即时通讯阶段包括发送接受进入即时通讯阶段的请求和发送接受消息。

  MSN即时通讯软件的协议是基于ASCII码的协议,用其他话来讲就是所有的命令都必须是英文的!第一个阶段包括连接到MSN即时通软件的服务器。在这个阶段我们应该连接到服务器“messenger.hotmail.com”的1863端口(MSN即时通讯软件通过1863端口进行工作)。一旦连接上以后,我们就应该开始登陆过程了。此过程的第一步是验证MSN的版本。在此步中,客户端(即你的MSN软件)列出及向服务器发送它可以支持的版本,然后等待服务器的回应。
  VER 0 MSNP7 MSNP6 MSNP5 MSNP4 CVRO
  在MSN协议中,伴随着每个命令都有一个“试验ID”被发送。此实验ID从0开始,并且当每次服务器成功的对客户端的命令做回应时,都会增加。

  服务器的回应如下
  VER 0 MSNP7 MSNP6 MSNP5 MSNP4
  现在客户端(MSN)和服务器之间确定了它们之间将要进行通讯的版本。

  下一步客户端(MSN)向服务器发送一个请求,要求服务器提供它所支持的认证时需要的安全包的名字。
  INF 1
  不像ahoo,Rediff和其它的一些即时通讯软件,MSN在发送密码时会将密码加密,保证如有人监控你的端口时,密码不会轻易的泄露。

  服务器的回应如下
  INF 1 MD5 (MD5在这里是服务器当前支持的安全包的名字)

  下一步客户端(MSN)将向服务器发送用户ID
  USR 2 MD5 I
venky_dude@hotmail.com
  然后服务器将检验它是否包含有验证所需的此用户的所有相关信息。如没有的话,服务器将会发送如下回应:
  XFR 2 NS 64.4.13.551863 0
  意思为客户端(MSN)应该连接到NOTIFICATION服务器,地址和端口分别为64.4.13.55,1863.

  我们关闭当前的连接并且在连接到新的服务器64.4.13.55时重复以下步骤
  (客户端)VER 3 MSNP7 MSNP6 MSNP5 MSNP4 CVRO
  (服务器)VER 3 MSNP7 MSNP6 MSNP5 MSNP4
  (客户端)INF 4
  (服务器)INF 4 MD5
  (客户端)USR 5 MD5 I
venky_dude@hotmail.com

  现在我们连接上的服务器有了此尝试登陆的用户的信息.服务器回应如下
  USR 5 MD5 S 989048851.185113730

  服务器发送的此字符串是“MD5 杂乱信息”.此杂乱信息由服务器创建并且在认证过程中使用.客户端然后向服务器发送使用MD5运算法加密后的密码.实际上客户端向服务器发送的是一个独一无二的MD5字符串,此字符串等价于此“MD5杂乱信息”(即989048851.185113730)+密码.结果如下
  3b7926d277068ec49576a0c40598ff21
  USR 6 MD5 S 3b7926d277068ec49576a0c40598ff21

  如果密码正确,服务器将做如下回应
  USR 6 OK
venky_dude@hotmail.com venkat
  此处“venkat”是用户的呢称。


在此协议的最新版本中,服务器将发送一些附加的数据,像用户的信息和一个认证码(类似于一个cookie,可以用到许多其它的功能中)

  MSG Hotmail Hotmail 362
  MIME-Version:1.0
  Content-Type:text/x-msmsgspro file;charset=UT
  Login Time:1011252477
  EmailEnabled:1
  MemberIDHigh:84736
  MemberIDLow:-143472939
  Lang_preference:103
  PreferredEmail:venky_dude@hotmail.com
  Country:IN
  PostalCode:
  Gender:M
  Kid
  Age:22
  Sid:517
  Kv:2
  MSPAuth:2AAAAAAAADU0p4uxxxJtDJozJS1UTS0i7YpwnCoPUHRv56YKxxxCTWmg$$

  现在我们登陆上了服务器,但是我们的状态仍然是离线.为了能够发送和接受信息,我们需要把我们的状态改成在线.客户端通过如下命令完成这步:
  CHG 7 NLN

  服务器则向客户端发送回在线的好友及其相应的状态。
  ILN 7 NLN
btxxxe@hotmail.com nick (NLN:Now online 即当前在线)
  ILN 7 AWY
wmxxe@hotmail.com mike (AWY:Away 即离开)
  ILN 7 BSY
tehpxxp@hotmail.com jerry (BSY:Busy 即忙碌)
  MSG Hotmail Hotmail 223
  MIME-Version:1.0
  Content-Type:text/x-msmsgsinitialemailnotification;charset=UTF-8
  Inbox-Unread:293
  Folders-Unread
  Inbox-URL:/cgi-bin/HoTMaiL
  Folders-URL:/cgi-bin/folders
  Post-URL:http://www.hotmail.com
 


[聊天工具]四大更新 Windows Live Msn 8.1评测  [聊天工具]MSN + Yahoo Messenger整合很快完工_工具软件
[聊天工具]MSN Messenger占领世界市场61%的份额_联络工具_MS…  [聊天工具]删除“我的电脑”中的MSN共享文件夹
[聊天工具]通过网易POPO与MSN好友隐身聊天  [聊天工具]MSN Messenger新增两个聊天机器人__天极Yesky
[聊天工具]MSN Messenger 8 Beta简单试用报告__天极Yesky  [聊天工具]MSN Messenger能轻松找到网络故障原因__天极Yesky
[聊天工具]MSN Messenger8 超酷头像任你选__天极Yesky  [聊天工具]MSN Messenger 8.0 Beta多图欣赏__天极Yesky
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台