Visual Basic.NET 7.x (2002/03)Visual Basic 9 (2008)Visual Basic 8 (2005)Windows VistaWindows 2003Win32Visual Basic 6Windows XP.NET 2.0初学者中级开发Windows.NETVisual Basic
dotNetMSN 库修复






3.67/5 (2投票s)
如何修复 dotNetMSN 库以轻松连接到 MSN 服务
引言
dotNetMSN(c) 是一个我之前发现的易于使用的库,我花不到一个小时就熟悉了它。我使用 dotnetmsn.dll 在 MSN(c) 协议连接和与 MSN 协议的交互方面做了许多示例集成。但最近,似乎协议发生了一些变化,我的朋友们在使用该库时问我为什么它不再工作了。
我正要检查新版本,却意识到 dotNetMSN 库的项目条目已经不存在了;我找到了一些其他的 MSN 协议库,但这个轻量级的库引起了我的兴趣,最终我在我的备份中找到了代码来尝试修复...
背景
由于 dotNetMSN 是由 Mansour Behabadi (mansourbeh@yahoo.com) 在 2004 年编写的非常旧的代码,该工具使用的 MSN 协议版本是 MSNP8。我很抱歉我没有时间检查服务器是否忽略 MSNP8 请求或只是违反了它,但问题在于第一条消息,即 VER
,发生了一些变化。现在 VER
响应的最后一个字段 CRV0
不再发送回来,所以你只需要修复代码的这部分,不要等待/检查这个 CVR0
即可。
Using the Code
在 netMSN.vb 的第 207 行,你有以下代码
Case "VER"
If .Contains("MSNP8") And .Contains("CVR0") Then
p_connector.SendCommand(...
只需删除对 CVR0
的检查,一切就都会顺利,并且像以前一样工作...
Case "VER"
If .Contains("MSNP8") Then
p_connector.SendCommand(...
编译项目并将新的 DLL 包含在你的应用程序代码中。
关注点
当然,使用网络协议分析器来尝试理解协议的哪一部分发生了变化,并发现这个最小的响应导致你的简单而完美的代码停止正确工作,是一个很好的练习。逆向工程... 很好的想法,只是需要付诸实践。:)
历史
- 2008 年 8 月 8 日:初始发布