java socket報文通訊 報文的封裝

2021-06-27 22:19:12 字數 1769 閱讀 8268

什麼是報文這裡我就不在闡述了,不清楚的朋友可以自己去查資料。我們今天要談的報文主要友以下幾個部分組成:

3位同步校驗位+8位報文長度+報文頭+報文體+32位

md5校驗位

基本格式如下:

0x110x120x1300000232<?xml version="1.0" encoding="gbk"?>020420141223

14122301000815217010001張三

b251ab76b11114db176023a0aa27a524

說明:前面的0x110x120x13是3位16進製制的同部位,這裡為了大家理解,所以就以字元的形式謝出來了。00000232是報文長度。<?xml version="1.0" encoding="gbk"?>020420141223

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的...