這幾個星期, 發現 phpmsnclass 傳送離線訊息的功能似乎失效了. 今天查了一下, 發現原本用來發送的網站 ows.messenger.msn.com 被 Microsoft 改成 127.0.0.1, 也就表示這網站應該是再也不支援了. 所以... 所有使用這個方式傳送離線訊息的 client (可能所有非官方的 client 都是這樣處理), 都失去傳送離線訊息的功能了.
由於官方的 client 還可以使用, 就看一下傳輸的記錄, 發現是改用 UUM 來傳. 但是在 MSNP15 底下, 這個方法會造成斷線, 所以就照著改用 MSNP18 來處理, 目前看起來是可以正常使用了.
由於 MSNP9/MSNP15 似乎都有問題, 所以就直接移除這兩個協定的支援, 目前就只能使用 MSNP18 了 (所需的模組與 MSNP15 一樣).
有需要的請自行到 Google Code 網站去抓 r53 或之後的版本回來用吧.
雖然 Darwin Streaming Server 官方對於 Linux 的支援說法, 是建議使用 5.5.5 或更早以前的版本, 不過, 加上適當的 patch 之後, 要在 Linux 上頭使用 6.0.3 版本也是可以.
網路上可以找到在 unbuntu 上頭安裝的說明, 基本上照著這篇文章的步驟, 就可以讓 DSS 6.0.3 在 Debian 下正常的運作. 所以有需要的就照著做就可以了.
不過這個安裝的說明, 並沒有新增任何開機時執行的指令, 所以如果你需要每次開機時都自動去執行的話, 就自己寫一個 script 去執行 /usr/local/sbin/streamingadminserver.pl 就可以了.
我自己是用下面這個 script 來處理:
#! /bin/sh
#
# dss darwin streaming server
#
NAME=dss
DESC="DSS"
set -e
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
/usr/local/sbin/streamingadminserver.pl
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME "
killall streamingadminserver.pl
killall DarwinStreamingServer
echo "."
;;
restart|force-reload)
$0 stop
sleep 1s
$0 start
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0