kopete 連msn 問題

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

kopete 連msn 問題

文章訪客 » 週五 5月 07, 2004 5:43 pm

我的kopete現在連msn一連上之後就斷線說~~

我在家目錄的/share/config/kopeterc
加了UserAgent=0x0409 winnt5.1 i386 MSNMSGR 5.0.0 MSMSGS
可是還是一樣一連上就斷
不知道是不是還有其他原因?
在windows裡是好的
訪客
 

re:kopete 連msn 問題

文章訪客 » 週六 5月 08, 2004 12:54 pm

我試的結果是有的時候可以連的上去說
但還是失敗的次數多,其實多很多......
真的很奇怪 :-?

對了,我是用testing,裝的是unstable的kopete
訪客
 

re:kopete 連msn 問題

文章whatup » 週六 5月 08, 2004 1:26 pm

依照 AceLan 大大研究的成果是,如果你的好友名單中,有過長的暱稱的話,哪你會無法登入。以下轉貼一篇 AceLan 大大的文章:
代碼: 選擇全部
 作者  AceLan (Refactoring)                                 看板  AceLan
 標題  kopete msn plugin 接收到超長 nick 會斷線的解法
 時間  Thu Apr  8 18:24:16 2004
───────────────────────────────────────

msn 的 protocol 在剛開始接到 server 傳來的好友名單時
會將要顯示的好友暱稱在傳送一次回去給 server
在傳送回去時會使用 KURL::encode_string() 將暱稱編碼
但是由於 KURL::encode_string() 做了過多的編碼
使得編碼過後的暱稱長度太長
將這串過長的編碼後的字串傳給 server 之後
server 就會將 msn 斷線

最佳的解法就是自己寫一個編碼的函數來做編碼的動作
不過我的解法比較懶 是將送回去給 server 的好友暱稱截短
修改的方式很容易 只是如果好友暱稱過長時 後半部的字就看不到了 :p

protocols/msn/msnsocket.cpp:496

QString MSNSocket::escape( const QString &str )
{
    return ( KURL::encode_string( str.left( 30), 106 ) );
}
QString MSNSocket::unescape( const QString &str )
{
    //GRRRRR F*CKING MSN PLUS USERS! They insert these stupid color codes in their nickname, and messages are not correctly shown
    return KURL::decode_string( str, 106 ).replace( "\3", "" ).replace( "\4", "").replace( "\2", "" );
}
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: linux3.cc.ntu.edu.tw


whatup
可愛的小學生
可愛的小學生
 
文章: 44
註冊時間: 週二 2月 10, 2004 8:26 pm


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客