显示具有 Jabber 标签的文章。 显示所有文章
显示具有 Jabber 标签的文章。 显示所有文章

2007年10月28日 星期日

Besti Talk折腰的第一个版本


黑色的Title是可以当MouseDown的时候接受窗体拖动的。
窗体边框是可以resizer的。这个问题在昨天的日志上已经提到了怎么实现。
阴影效果同样在昨天的日志中已经提及。
最大的问题是突然间Jabber服务器一个都登录不了了。真伤心。

通宵写程序容易发迷糊。 整个风格都是模仿Google talk完成的。对了,要值得提及的是:我把Google talk中的 设置和帮助标签放到了TrayIcon里了。那个不常用的按钮没有必要出现在重要的位置,去掉后可以把图像的照片调整的更加大,就美观多了。

这个.NET界面是折腰了。未来多月内修改一下,还是打算用WinAPI老老实实的完成。

2007年10月26日 星期五

Google Talk协议构架

  网络上一定有很多人在搜索Google Talk是怎么设计和代码的。所以Google Group上也会有人问Google Talk开源?Google Talk代码在哪里?Google Talk 的API有不?

  如果你不是编程熟手,那么很遗憾地告诉你,Google Talk提供了一种更加广泛的接口或者说是标准,也就是你熟悉的XMPP/Jabber.当然,你光知道这个名词是不能了解Google Talk如何工作的。

  Google Talk使用了3种协议(或者说扩展了2种)。并且将这3种协议的实现库lib都开源了。您可以从code.google.com上搜索到。
  1. Google Talk构建于大的XMPP协议上。所以您使用PSI,iChat都能连接上。XMPP协议的各个语言实现库可以从Jabber.com中的库列表中找到。
  2. XEP: XMPP enhancement proposals。然后Google Talk Server中使用了一个非标准的扩展,来实现Google Talk的一些特色功能。该功能通过XEP extensions来实现。
  3. libjingle :C++库,提供Google Talk点对点文件传输,视频,语音聊天功能的协议实现。
具体的Google Talk英文文档简介可参看:Google API about Google Talk

如何设置Google企业用户帐号连接Google Talk服务

  如果你使用Google Talk来连接您的Google App(Google 企业应用程序),那么您不会碰到无法连接的问题。

  然而,企业用户毕竟是个企业,而非个人。必然有企业的需求,这也是会出现那么多Enterprise版本的原因吧。
企业内部可能需要自己的通讯客户端。比如YourCompany Talk.不过我在完成一个Besti Talk的时候,发现 -_-我竟然连不上Google 的Jabber服务器。后来才发现配置的问题。
以下是正确配置和使用agsXMPP SDK的参考代码。

string input = support@naionetwork.net;
Jid jid = new Jid(input);
_connection.Server= jid.Server;
_connection.Username= jid.User;
_connection.Password= “my password”;
_connection.Resource= "psi";
_connection.Priority= 10; //一般我习惯写5
_connection.Port= 5223;
_connection.UseSSL= true
_connection.AutoResolveConnectServer=False;
_connection.ConnectServer ="talk.google.com";//not null
_connection.SocketConnectionType =agsXMPP.net.SocketConnectionType.Direct;
_connection.UseStartTLS = true;


  如果我的Google App帐号是support@naionetwork.net
  则 jid.server = naionetwork.net
  这里要区别的是ConnectServer = "talk.google.com"。同时你要记得设置AutoResolveConnectServer为False.否则就找naionetwork.net来连接您的Jabber服务器了。如果您使用Google App帐号,显然无法成功通讯了。
 
(L)1984 - 2007 TONY CHEUNG