Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101625
  • 博文数量: 26
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-06 01:47
文章分类

全部博文(26)

文章存档

2009年(7)

2008年(19)

我的朋友

分类: LINUX

2009-01-04 23:50:43

最近正在重新研究MSNP15协议的MSN报警-phpmsnclass,并完善一下之前用的采用MSNP9协议的MSN报警。采用了MSNP15协议框架的phpmsnclass,增加了离线消息(OIM)的支持,修正 MSNP15 密码使用特殊字符的编码问题,修正了密码长度问题,在 msnbot.php 中新增定時通知的功能,新增 addContact() 函数, 主动询问使用者是否允许加入他的联络清单中等功能.
目前phpmsnclass在google code发布的最新版本是1.9.7,源码版本号r30.在使用此版本发送OIM的时候,我发现发送的OIM过长,就会报错:
---------------------------------------------------------------------------
*** OIM failed for
*** OIM Error code: q0:MessageTooLarge
*** OIM Error Message: Exception of
type 'System.Web.Services.Protocols.SoapException' was thrown.
*** can't send OIM, but we already re-login again, so ignore this OIM
NS: >>> OUT
---------------------------------------------------------------------------
通过与phpmsnclass的开发者wu.tommy(一个台湾人)沟通,确定这是MS在MSNP15协议框架的WML(Windows Live Messenger)8.5以后版本中新增加的一个限制。
// for WLM: 1664 bytes
// for YIM: 518 bytes
// for OIM: 314 bytes
因此在r32版本中针对此限制对phpmsnclass做了修改,当捕获到这个错误的时候,把信息分片,分成多条OIM发送。基本解决了这个问题,不过挺不爽的,不知MS用意何在。
使用MSNP9协议,PHP要支持:curl pcre
使用MSNP15协议,PHP要支持以下模块:curl,pcre,mhash,mcrypt,bcmath。为了大家测试使用方便,把我的php编译参数贴出来供大家参考。
 
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/local/lib/ --with-png=/usr/local/lib/ --with-freetype-dir=/usr/local/freetype/ --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets
 
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了呵呵)
 
wget
wget
wget
 
 
 
阅读(976) | 评论(1) | 转发(0) |
0

上一篇:给Oracle数据库打补丁

下一篇:read 例解

给主人留下些什么吧!~~

chinaunix网友2009-08-18 16:51:40

有没有协议文档,中文的