隨筆-95  評(píng)論-31  文章-10  trackbacks-0

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

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

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 嵊州市| 辰溪县| 嫩江县| 岑溪市| 南靖县| 淮阳县| 吐鲁番市| 久治县| 陈巴尔虎旗| 金平| 札达县| 江津市| 苍山县| 辽中县| 龙州县| 邵阳市| 福建省| 新竹县| 博白县| 闵行区| 雷波县| 城市| 揭西县| 南皮县| 朝阳县| 堆龙德庆县| 临泉县| 广东省| 永登县| 裕民县| 方山县| 阜平县| 乌海市| 赞皇县| 高雄市| 南华县| 营山县| 永春县| 抚宁县| 巫山县| 滨海县|