Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

phpmsnclass v1.7
post by tommy @ 17 六月, 2007 16:08
更新 phpmsnclass 版本為 1.7.
異動記錄:
  • clientid 預設改為 0x7000800C, 可以在 MSN() 的第四個參數傳入.
  • 判斷並忽略 text/x-mms-animemoticon 訊息.
  • 判斷並忽略 application/x-ms-ink 訊息.
  • 處理 application/x-msnmsgrp2p 訊息, 在必須回應的時候回覆, 否則忽視.
  • 如果在 SB 中不處理該訊息, 則不寫入逾時的記錄.

檔案請到 Google Code 抓取.

Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] Re:phpmsnclass v1.7 [ 回覆 ]

請問是否可以像 Messenger Plus! 的功能可以把訊息長度上限加到 1100 bytes ?

commons icon [2] Re:phpmsnclass v1.7 [ 回覆 ]

程式內沒限制長度, 實際能發送多大的訊息, 我也不清楚.
就 protocol 上頭來看, 我是沒看到有那邊有提到有這個限制.

我試過送給 MSN 到 1350 bytes 都還正常收到. (不過同樣大小的給 Yahoo 的會有問題, 無法正常送出)

commons icon [3] Re:phpmsnclass v1.7 [ 回覆 ]

Sorry.. 是我誤會了. 剛才送出的資料對方一直收不到, 我以為是太長的原因. 結果不是. 看起來 MSN 不接受有 '.scr' 的內容. 我把 '.' 換成別的字, 就可以了.

commons icon [4] Re:phpmsnclass v1.7 [ 回覆 ]

您好,我在測試OIM都沒有成功,SOAP部份的主要錯誤訊息如下:
1. q0:AuthenticationFailedException of type 'System.Web.Services.Protocols.SoapException' was thrown.
2. OIM need new challenge (1958492018) for (E-Mail) *** we need a new challenge code for 1958492018 (省略)
3. Notice: Undefined variable: re_login in C:\AppServ\www\msn\msn.class.php on line 2135
4. can't send OIM, maybe ticket expired, try to login again

commons icon [5] Re:phpmsnclass v1.7 [ 回覆 ]

你有寫自己的程式來使用 sendMessage() 嗎?
我看一下我的程式與給的 sample 裡頭, sendMessage() 都是在 connect() 之後去執行, 執行後程式就結束. 照說這樣子是在 login 之後就送訊息, 不應該會有 ticket timeout (要一天才會 timeout) 的情形才對, 應該進不到 $re_login 那一段.

那個 notice 的警告, 可以在 2126 行的 $lockkey = ''; 之後, 加上一行 $re_login = false; 就可以避免.

不過這個 notice 應該還不會造成 php 中斷執行, 也就是那個 loop 至少會跑個三次, 你那個錯誤訊息只有一次嗎?

可否提供 log 中在登入之後的所有記錄呢? 我的 email 在網頁的右上方可以看到.

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 96 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS