- clientid 預設改為 0x7000800C, 可以在 MSN() 的第四個參數傳入.
- 判斷並忽略 text/x-mms-animemoticon 訊息.
- 判斷並忽略 application/x-ms-ink 訊息.
- 處理 application/x-msnmsgrp2p 訊息, 在必須回應的時候回覆, 否則忽視.
- 如果在 SB 中不處理該訊息, 則不寫入逾時的記錄.
檔案請到 Google Code 抓取.
請問是否可以像 Messenger Plus! 的功能可以把訊息長度上限加到 1100 bytes ?
程式內沒限制長度, 實際能發送多大的訊息, 我也不清楚.
就 protocol 上頭來看, 我是沒看到有那邊有提到有這個限制.
我試過送給 MSN 到 1350 bytes 都還正常收到. (不過同樣大小的給 Yahoo 的會有問題, 無法正常送出)
Sorry.. 是我誤會了. 剛才送出的資料對方一直收不到, 我以為是太長的原因. 結果不是. 看起來 MSN 不接受有 '.scr' 的內容. 我把 '.' 換成別的字, 就可以了.
您好,我在測試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
你有寫自己的程式來使用 sendMessage() 嗎?
我看一下我的程式與給的 sample 裡頭, sendMessage() 都是在 connect() 之後去執行, 執行後程式就結束. 照說這樣子是在 login 之後就送訊息, 不應該會有 ticket timeout (要一天才會 timeout) 的情形才對, 應該進不到 $re_login 那一段.
那個 notice 的警告, 可以在 2126 行的 $lockkey = ''; 之後, 加上一行 $re_login = false; 就可以避免.
不過這個 notice 應該還不會造成 php 中斷執行, 也就是那個 loop 至少會跑個三次, 你那個錯誤訊息只有一次嗎?
可否提供 log 中在登入之後的所有記錄呢? 我的 email 在網頁的右上方可以看到.