關於Java Socket網絡傳輸的序列化機制
採用Java Socket網絡傳輸的`序列化機制,將對象“壓扁”成二進制字節,將二進制字節在網絡中傳輸;
自定義協議,將對象用字符串描述出來,將字符串用二進制表示,在網絡中傳輸,在另外一邊用相反的策略解析這個字符串,重新構造業務對象,這個方法能夠在異構平臺中進行傳輸而不變形,但是需要額外的編寫“壓扁”和“充氣”的代碼;
我們這裏用第一種方法:
age ;
rt ArrayInputStream;
rt ArrayOutputStream;
rt ;
rt InputStream;
rt OutputStream;
rt ception;
rt tStream;
rt ctInputStream;
rt ctOutputStream;
rt utStream;
rt ;
ic class Persistence {
ic static void main(String[] args) {
[] bs = tes();
16.//在網絡中進行傳輸
ytes(bs);
18.}
ic static byte[] toBytes() {
on p = new Person();
ame("corey");
all(171);
irthday(new Date());
ddress(new Address("yiyang", "ziyang"));
ArrayOutputStream out = new
ByteArrayOutputStream();
{
ctOutputStream oout = new ObjectOutputStream(out);
eObject(p);
29.} catch (IOException e) {
30.// TODO Auto-generated catch block
tStackTrace();
32.}
rn teArray();
34.}
ic static void getBytes(byte[] bs) {
{
ArrayInputStream byteIn = new
ByteArrayInputStream(bs);
ctInputStream in = new ObjectInputStream(byteIn);
on p = (Person) Object();
tln(ame());
tln(all());
tln(irthday());
tln(ddress()ity());
t(ddress()treet());
45.} catch (Exception e) {
46.// TODO Auto-generated catch block
tStackTrace();
48.}
49.}
50.}
其中服務端代碼片段爲:
= equestSocket()nputStream();
= equestSocket()utputStream();
[] bs = tes();
tln("發送數字長度:"+th);
e(bs);
equestSocket()e();
57.客戶端代碼片段爲:
tStream in = nputStream();
[] bin = new byte[200];
length = 0;
e ((length = (bin)) != -1) {
tln("length:" + length);
ytes(bin);
64.}
相關文章
-
Java網絡基礎和Socket通信基礎
總結是對過去一定時期的工作、學習或思想情況進行回顧、分析,並做出客觀評價的書面材料,通過它可以正確認識以往學習和工作中的優缺點,讓我們一起來學習寫總結吧。那麼總結應該包括什麼內容呢?下面是小編整理的政治教學工 -
Java中基於Aspectwerkz的AOP開發
一、AOP編程概覽面向對象編程技術進入軟件開發的主流對軟件的開發方式產生了極大的影響,開發者可以用一組實體以及這些實體之間的關係將系統形象地表示出來,這使得他們能夠設計出規模更大、更復雜的系統,開發週期也比以 -
講解Java的Socket網絡編程的多播與廣播實現
男生選擇把頭髮設計成一些無劉海的頭髮,這樣看起來是特別的不錯的,現在我們就一起來欣賞一下這五款無劉海的男生的髮型吧,沒劉海的髮型,可以讓男生顯得更成熟一些,顯得男生也更有男人味一些。頭髮看起來是比較蓬鬆的一位男 -
關於JavaScript學習筆記之Cookie對象
JavaScript CookieCookie對象:Cookie是一種以文件的形式保存在客戶端硬盤的Cookies文件夾中的'用戶數據信息(Cookie數據)。Cookie文件由所訪問的Web站點建立,以長久的保存客戶端與Web站點間的會話數據,並且該Cookie數據 -
Java Socket應答與HTTP服務器的關係
Java Socket應答一直伴隨着我們的編程生活,在不斷的發展中有很多知識需要我們學習。下面我們就先來看看有關Java Socket應答的代碼,有點長,但是看下去就會讓你豁然開朗。HTTP/1.1表示這個HTTP服務器是1.1版,200是服務器對 -
關於javascript中cookie對象用法的實例分析
本文實例講述了javascript中cookie對象用法。分享給大家供大家參考。具體如下:屬性name 唯一必須設置的屬性,表示cookie的名稱expires 指定cookie的存活週期,如不設置,瀏覽器關閉自動失效path 決定cookie對於服務器對於其 -
Javasocket應用實例
引導語:運用Java,我們可以編出很多有趣的'小程序,以下是本站小編分享給大家的Javasocket應用實例,希望大家喜歡! 用於本機上的客戶端與服務器對話的小程序:客戶端:import eredReader;import eredWriter;import tStreamRea -
Java如何通過Socket實現TCP服務端
Socket 通常也稱作套接字,Java如何通過Socket實現TCP服務端?下面本站小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網! 1 Java Socket簡介所謂socket 通常也稱作 -
javasocket服務端技巧
Java的主要工作是通過編程語言來製作互聯網頁面、製作動態效果以及網站等技術,以下是小編爲大家搜索整理的`javasocket服務端技巧,歡迎閱讀!更多精彩內容請及時關注我們應屆畢業生考試網!如下的GreetingServer 程序是一 -
PPT職稱考試“Shockwave Flash Object”控件法
導語:Flash動畫閃在PowerPoint2003中的四種方法你知道是什麼嗎?本站小編已經整理出來了,需要學習的小夥伴們一起來看看吧。Flash是大名鼎鼎的美國Macromedia公司推出的一款優秀的矢量動畫製作軟件,它簡單易學,功能強大,能