隨筆 - 20  文章 - 57  trackbacks - 0
          <2010年10月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          51CTO

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          曾以為QQ很神秘

          后來覺得QQ很簡單,感覺無非就是一個(gè)QQ客戶端發(fā)送一個(gè)消息到服務(wù)器,然后服務(wù)器將消息發(fā)送到指定QQ客戶端

          現(xiàn)在把當(dāng)時(shí)想的過程畫了下來

          (大家別笑話我啊,當(dāng)時(shí)真的就是這么想的,感覺很簡單——其實(shí),當(dāng)自己去實(shí)現(xiàn)的時(shí)候,真的很復(fù)雜!!!)


          還寫了一些代碼,不過還不能具體運(yùn)行,僅僅是一個(gè)框架:

          我把這些都放在QQ包內(nèi):

          *****************************************************************
          首先,定義了一個(gè)客戶端接口——可能有點(diǎn)羅嗦,沒有完全實(shí)現(xiàn)接口的作用

          package QQ;

                  /**

                      這個(gè)接口的作用是用來實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送消息的接口。

                  */

          public interface QQClientInterface {
             
              public void SendServerMessage();
              public QQMessage ToFromQQServer();

          }


          ****************************************************************

          ================================================================

          ****************************************************************

          這是一個(gè)服務(wù)器的接口——貌似和上面的接口重復(fù)了!!!


          package QQ;

                  /**

                          用來實(shí)現(xiàn)QQ服務(wù)器向QQ客戶端發(fā)送消息,和接受QQ客戶端發(fā)送來的消息

                  */

          public interface QQServerInterface {
             
              public QQMessage SendMessageToQQClient(String QQName);
              public void GetMessageFromQQClient();

          }

          ****************************************************************

          ================================================================

          ****************************************************************

          這里插入一個(gè)消息類QQMessage

          package QQ;

              /**

                  這個(gè)類專門用來存放QQClient和QQserver發(fā)送的消息。

               */

          public class QQMessage {
             
              private String FromQQName;
              private String ToQQName;
             
             
              public String getFromQQName() {
                  return FromQQName;
              }
              public void setFromQQName(String fromQQName) {
                  FromQQName = fromQQName;
              }
              public String getToQQName() {
                  return ToQQName;
              }
              public void setToQQName(String toQQName) {
                  ToQQName = toQQName;
              }

             
          ****************************************************************

          ================================================================

          ****************************************************************

          下面可以重點(diǎn)~\(≧▽≦)/~啦啦啦

          這是QQ客戶端的代碼:


          package QQ;

          public class QQClient implements QQClientInterface {

              private String QQName;
              private QQMessage message;
             

              public void SendServerMessage() {
                 
                  /**
                 
                          用來實(shí)現(xiàn)對QQ服務(wù)器發(fā)送消息(調(diào)用QQ服務(wù)器的接受消息的方法,將消息發(fā)送到服務(wù)器)
                   
                  */   
             
                 
                 
                 
                  }




              public QQMessage ToFromQQServer() {
                 
                  /**
                 
                          隔一段時(shí)間向服務(wù)器發(fā)送一個(gè)消息,帶有自己QQName的消息,然后QQ服務(wù)器檢索,是否
                          有消息要傳給這個(gè)QQ,如果有將消息傳過來,并顯示。
                         
                  */
                 
                  return null;
              }


              public String getQQName() {
                  return QQName;
              }


              public void setQQName(String qQName) {
                  QQName = qQName;
              }


              public QQMessage getMessage() {
                  return message;
              }


              public void setMessage(QQMessage message) {
                  this.message = message;
              }
             
             

          }


          ****************************************************************

          ================================================================

          ****************************************************************

          最后是服務(wù)器端的代碼:

          package QQ;

          import java.util.HashMap;
          import java.util.Map;

          public class QQServer implements QQServerInterface {
             
              Map<String,QQMessage> qqMessage = new HashMap<String,QQMessage>();


              public QQMessage SendMessageToQQClient(String QQName) {
                 
                  /**
                   
                           QQServer要發(fā)送消息必須滿足兩個(gè)條件:
                          
                                       1. QQ客戶端將自己的QQName發(fā)送給QQServer,然后根據(jù)自己的QQNameQQ服務(wù)器開始遍歷qqMessage;
                                       2. qqMessage的Values不是null。
                                      
                               如果QQMessage不為空,則將自己的V發(fā)送給QQName,否則返回Null;
                   
                  */
                 
                  return null;
              }



              public void GetMessageFromQQClient() {

                  /**
                   
                   QQServer接受消息,并將消息存放在qqMessage中
                  
           
                  */
                 
              }

          }


          ****************************************************************
          ****************************************************************

          暫時(shí)還沒寫出一個(gè)簡單QQ程序,大家盡心等待!我一定會(huì)寫出一個(gè)讓自己滿意的即時(shí)通訊程序!










          posted on 2010-10-29 21:12 tovep 閱讀(1292) 評論(6)  編輯  收藏

          FeedBack:
          # re: Java_QQ框架_簡單版 2010-11-10 20:07 小六夜瘋狂
          是啊!有想法就好啊!我支持。  回復(fù)  更多評論
            
          # re: Java_QQ框架_簡單版 2010-11-10 21:16 Tovep
          @小六夜瘋狂
          謝謝你的支持!!!
          現(xiàn)在不能只有想法,更重要的是去實(shí)現(xiàn),所以我會(huì)在這段時(shí)間,實(shí)現(xiàn)他~~~  回復(fù)  更多評論
            
          # re: Java_QQ框架_簡單版 2010-11-28 18:35 r3tt
          feereerer  回復(fù)  更多評論
            
          # re: Java_QQ框架_簡單版 2010-11-28 18:35 r3tt
          dferfer  回復(fù)  更多評論
            
          # re: Java_QQ框架_簡單版 2011-10-21 15:06 ぬ~﹏微 笑、べ →愛
          我我我我   回復(fù)  更多評論
            
          # re: Java_QQ框架_簡單版 2011-10-21 15:06 ぬ~﹏微 笑、べ →愛
          往往我我我我我我我我  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主頁 主站蜘蛛池模板: 延川县| 喜德县| 武强县| 芦山县| 阳新县| 榆树市| 博乐市| 东阳市| 沐川县| 龙陵县| 瓮安县| 科尔| 额敏县| 磴口县| 房山区| 伽师县| 河津市| 清河县| 星座| 阳西县| 淳安县| 兴化市| 泊头市| 卓尼县| 临澧县| 鄂伦春自治旗| 铜梁县| 韶山市| 赞皇县| 富源县| 洛阳市| 宜兰县| 永城市| 墨竹工卡县| 皋兰县| 长阳| 博兴县| 汕头市| 巴塘县| 夏河县| 镇安县|