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