<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="【IM/聊天/语音工具】MSNP-Sharp 分析和使用" id="card1">
<p> 游客</p><p>
标题:【IM/聊天/语音工具】MSNP-Sharp 分析和使用<br/>
正文:<br/>
网上搜一搜，发现MSN的开发库还不少。比如有名的Pidgin（可以让你同时登录MSN,QQ,Yahoo通，Gtallk等）使用的IM互通的库叫libpurple， 完全是Pidgin自己使用C和GTK开发的，有其它的一些IM也是基于它开发的。但本人看了libpurple的代码后，觉得不敢恭维，像我们通常说：&amp;ldquo;业务逻辑跟GUI界面揉在一团&amp;rdquo;，很难使用。所以搜索了一下其它MSN的库，有python写的， 有Java写的, 还有.Net和C#实现的。通过对它们的了解，最终使用了MSNP-Sharp这个 库，它是.Net平台，使用C#开发。我一向偏重首选Linux平台的源码库，但无奈其它的MSN开发库太老，N久或N年没更新过，唯独这个MSNP-Sharp最活跃，而且最近都有版本更新。基本上这些第三方的MSN开发库都没有正式的文档，所以只能看源码，还好MSNP-Sharp源码中包括了一个Example要使用MSNPSharp向你的好友发送消息，首先必须建立一个Conversation对象，这个对象可以通过调用Messenger类的CreateConversation函数获得。    建立了Conversation就可以通话了么？答案是否定的，因为这个Conversation这时候只有你一个人，就好比你要向一个朋友通电话，你直接拿起话筒就能和对方说话么？    于是下一步我们该干什么呢？让我们回到通电话的那个例子上来。我们拿起话筒，理所当然做的第二件事情就是&amp;mdash;&amp;mdash;拨号。MSNPSharp也一样，你得&amp;ldquo;拨号&amp;rdquo;把对方邀请到你的Conversation里面来，这很简单，调用你先前得到的那个Conversation对象的Invite函数，那个函数只有一个参数，就是目标好友的Windows Live 帐号（前提是他没有Block你），或者干脆就是你目标好友的Contact对象。    完事了么？很明显没有。你拨号了之后还得等人接了才能通话。当然在现实生活中完成这个动作很简单：你只需要拿着话筒等待就可以了，因为拨号的这个过程是线性的（或者说是同步的），动作一个接一个地发生。但是写程序就没有那么走运了，要知道Invite对方直到对方响<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=58&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=58&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=58&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=58&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=58&amp;Page=20">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=58">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=58">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>