什麼是報文這裡我就不在闡述了,不清楚的朋友可以自己去查資料。我們今天要談的報文主要友以下幾個部分組成:
3位同步校驗位+8位報文長度+報文頭+報文體+32位
md5校驗位
基本格式如下:
0x110x120x1300000232<?xml version="1.0" encoding="gbk"?>0204
20141223
14122301000815217010001
張三
b251ab76b11114db176023a0aa27a524
說明:前面的0x110x120x13是3位16進製制的同部位,這裡為了大家理解,所以就以字元的形式謝出來了。00000232是報文長度。<?xml version="1.0" encoding="gbk"?>0204
20141223
14122301000815217010001
是報文頭。即每個報文都包含的資訊。張三是報文體。b251ab76b11114db176023a0aa27a524是
加密資料。
1.建立報文的物件
public class socketpacket
public string getbody()
public string getsyncstr()
public string ge***5()
public void setbodylen(string bodylen)
public void setbody(string body)
public void setsyncstr(string syncstr)
public void se***5(string md5)
public byte getbytestream() throws unsupportedencodingexception
//新增body內容
for(int i = 0;i2.封裝傳送和接收報文的工具類
/*** 報文傳送
*/public class sockeutil
//public socketpacket sentsocket(socketpacket socketpacket) throws unsupportedencodingexception, ioexception
public byte streamtobytes(inputstream inputstream,int len) catch (ioexception e)
return bytes;
}}
3.在封裝乙個呼叫報文傳送的類:
public string socket(socketpackage socketpackage) throws unsupportedencodingexception catch (unknownhostexception e) catch (ioexception e)
socketpackage s = null;
try catch (exception e) catch (unsupportedencodingexception e1)
e.printstacktrace();
}
string result = "";
try catch (unsupportedencodingexception e)
return result ;
}
Java Socket報文通訊報文的封裝(二)
昨天我們談了怎麼建立socket通訊的服務端和客戶端,今天我們就來談一談怎麼封裝報文。什麼是報文這裡我就不在闡述了,不清楚的朋友可以自己去查資料。我們今天要談的報文主要友以下幾個部分組成 3位同步校驗位 8位報文長度 報文頭 報文體 32位md5校驗位 基本格式如下 0x110x120x130000...
java socket通訊學習筆記
正處於網路環境下的兩個程式,它們之間通過乙個互動的連線來實現資料通訊。每乙個連線的通訊端叫做乙個socket。乙個完整的socket通訊程式應該包含以下幾個步驟 1 建立socket 2 開啟連線到socket的輸入輸出流 3 按照一定的協議對socket進行讀寫操作 4 關閉socket。sock...
JAVA SOCKET與TUXEDO通訊的問題
現在我這邊的socket作為tuxedo傳送報文的接收服務端,在返回資料給tuxedo的時候,現在遇到乙個問題,就是同乙個socket連線不能夠將訊息分批返回給tuxedo,因為tuxedo要求第乙個報文為8位的後續報文長度,然後再傳送後續報文,必須分開發,否則不能夠正常接收。我記得在jdk1.4的...