本來我是有自己寫一個GUI的client,可是測試一直不成功,找了兩三天的bug一直找不出來,今天就想說拿出絕招,
sudo apt-get install ethereal
,直接灌上ethereal(或稱wireshark),抓看看封包到底是哪裡有問題。結果我看了封包才知道,這幾天在找的bug實在是有點丁丁化,原來是因為telnet在傳訊息的時候會自動加上換行符號(\r\n),可是我自己寫的GUI介面在傳送訊息的時候卻不會把換行加上去,卡在這麼蠢的問題上面兩三天,實在是有點囧。
到了剛剛我突然想到自己寫一個IM多蠢,而且說不定這個IM的protocol也不夠完善,所以為什麼不利用現有的IM來連線就好了呢?像是MSN, AOL之類的,然後我就去找了一個叫做JML。JML是一個可以拿來連MSN的package,只要import就可以使用了,而且還有很多的tutorial耶,這樣我就不用花時間自己寫server了,直接用MSN protocol就可以完成我需要的這些東西啦。
只不過不曉得老師會不會同意我這種寫法耶,因為我現在已經不是把這個程式當成是一個課堂的期末project,而是當成以後要持續maintain的一個project,反正不管了啦,我就是要寫這個軟體了!
參考資料:
最近想要開發的即時通訊軟體
Ethereal - Wikipedia
Java MSN Messenger Library
2 則留言:
Etheral有安裝過,但是看到那麼多功能就不會用了,還裝過tcpdump,sinffer pro等,但都從來沒用過,裝好玩而以,哈哈。
版主回覆:(06/26/2007 12:27:15 AM)
我反而覺得sniffer超難用,還是ethereal比較直觀。
3分鐘學會使用程式發送msn訊息,php篇(一)
http://rd-program.blogspot.com/2008/11/5msnphp.html
3分鐘學會使用程式發送msn訊息,dotNet C#篇(二)
http://rd-program.blogspot.com/2008/11/3msn-net-c.html
3分鐘學會使用程式發送msn訊息, Java篇(三)
http://rd-program.blogspot.com/2008/11/3msn-java.html
版主回覆:(06/28/2007 01:26:12 AM)
很實用的文章耶,有機會的話我也來implement看看。
謝啦!
張貼留言