隨筆-95  評論-31  文章-10  trackbacks-0

          經驗不足導致了N多問題~特此總結下
          1、首先確認雙方建立長連接OR短連接,這問題由于雙方缺乏溝通頭痛了好久。對方其實是短連接,而自己用長連接方式發(fā)送導致消息漏發(fā)。
          2、其次確認每條消息開始結束符,雙方互相確認,以此為依據(jù)進行分隔消息進行處理。使用了(char)11和(char)28作為每條消息的開始結束符,對方是0x0b和0x1c,其實就是(char)11和(char)28。
          3、發(fā)送緊急數(shù)據(jù)判斷是否和對方處于連接狀態(tài)也就是網(wǎng)絡上流傳的心跳數(shù)據(jù)每次發(fā)送消息前即java這邊socket.sendUrgentData(0)來判斷。使用socket.isClosed()和socket.isConnected();判斷是否連接不起作用!這個只能判斷之前的連接是否還處于連接狀態(tài)。
          4、編碼問題對方使用UTF-8 java這邊是GBK,使用InputStreamWriter來進行輸出編碼設置。

          posted on 2010-04-02 13:26 朔望魔刃 閱讀(1354) 評論(1)  編輯  收藏

          評論:
          # re: 和C#通信javasocket編程小結 2010-05-07 16:01 | 寶貝兔
          客戶端是用java實現(xiàn)的嗎?怎么實現(xiàn)的長連接,給我說一下吧。謝謝!  回復  更多評論
            

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 毕节市| 鹤峰县| 德庆县| 德格县| 大冶市| 陵水| 镇江市| 新乡市| 长治市| 章丘市| 昆明市| 兴城市| 肇州县| 平顶山市| 璧山县| 县级市| 民丰县| 子洲县| 泸定县| 红安县| 郧西县| 治县。| 射阳县| 平遥县| 加查县| 泸州市| 常州市| 阜城县| 乐山市| 绥中县| 宜宾县| 灯塔市| 安顺市| 晋城| 日照市| 昭觉县| 前郭尔| 乌拉特中旗| 平乡县| 穆棱市| 上犹县|