• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    jICQ 服務器和客戶端源碼

    發布: 2008-5-12 10:19 | 作者: 不詳 | 來源: 不詳 | 查看: 120次 | 進入軟件測試論壇討論

    領測軟件測試網


    class IcqID extends Thread //公用類,為每個好友產生一個實例,當IcqID.newMsg==true時自啟動,能處理收到和發送信息.
    class Sender extends Thread //公用類,專門與服務器進行通信,接受String型命令,以線程序方式運行,執行結束返回一個Result對象
    class SubmitID extends Frame //可用來注冊,修改和查看用戶信息.
    class Seek extends Frame //負責查找好友.被MainFrame的右鍵菜單調用.
    class MyDialog extends Frame //產生一個對話框
    class SysInfo extends Frame //為MainFrame提供用戶設置變量,讀取和保存jICQ.ini文件.
    class HttpImage extends Thread //在MainFrame被構造時調用并啟動,負責為SMsg提供廣告圖片getImg()和超級鏈接getHttp()

     

    二.系統原理
    1.主要類及主要方法,重要變量:
        系統啟動后調用 jICQ 中的main()方法,出更登錄框,系統后臺查找主機地址(服務器有多個可能域名).等待正確登錄,如果號碼密碼驗證通過,則初始化jICQ主界面,并啟動主界面的后臺線程.jICQ.class的使命完成,接后的工作由MainFrame完成.

    MainFrame 即為主界面,繼承Frame并實現線程,初始化時為整個系統初始化變量,并把所有頭像圖片裝入headImg[]中,并處理頭像圖片數據變白后放入alphaHead[]數組中.

    ----其run()方法完成登錄服務器的全過程,并啟動多個其它線程([1]Sender.onlineMon()方法主要是TCP/IP連接服務器一直到程序結束,[2]RMsg.class類主要是監聽UDP端口,接收來自其它用戶的聊天內容),當登錄完成后,成為調度線程直到結束,執行比如有聊天信息收到使主窗口圖標閃爍(調用checkID()),自動更新好友的個人信息checkID(),如果出果重繪窗口請求(repaintEvt==true),則調用repaint()重繪屏幕;監視Sender.onlineMon()是否與服務器斷線,是則重連;監視服務器是否發來他人用自已這個號碼在登錄(duplogon==true),是則出現提示對話框,結束系統.

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>