<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            Java Socket網絡傳輸的序列化機制

            時間:2024-08-28 15:52:52 SUN認證 我要投稿
            • 相關推薦

            關于Java Socket網絡傳輸的序列化機制

              采用Java Socket網絡傳輸的序列化機制,將對象“壓扁”成二進制字節,將二進制字節在網絡中傳輸;

              自定義協議,將對象用字符串描述出來,將字符串用二進制表示,在網絡中傳輸,在另外一邊用相反的策略解析這個字符串,重新構造業務對象,這個方法能夠在異構平臺中進行傳輸而不變形,但是需要額外的編寫“壓扁”和“充氣”的代碼;

              我們這里用第一種方法:

              1.package stream.demo;

              2.import java.io.ByteArrayInputStream;

              3.import java.io.ByteArrayOutputStream;

              4.import java.io.File;

              5.import java.io.FileInputStream;

              6.import java.io.FileOutputStream;

              7.import java.io.IOException;

              8.import java.io.InputStream;

              9.import java.io.ObjectInputStream;

              10.import java.io.ObjectOutputStream;

              11.import java.io.OutputStream;

              12.import java.util.Date;

              13.public class Persistence {

              14.public static void main(String[] args) {

              15.byte[] bs = Persistence.toBytes();

              16.//在網絡中進行傳輸

              17.Persistence.getBytes(bs);

              18.}

              19.public static byte[] toBytes() {

              20.Person p = new Person();

              21.p.setName("corey");

              22.p.setTall(171);

              23.p.setBirthday(new Date());

              24.p.setAddress(new Address("yiyang", "ziyang"));

              25.ByteArrayOutputStream out = new

              ByteArrayOutputStream();

              26.try {

              27.ObjectOutputStream oout = new ObjectOutputStream(out);

              28.oout.writeObject(p);

              29.} catch (IOException e) {

              30.// TODO Auto-generated catch block

              31.e.printStackTrace();

              32.}

              33.return out.toByteArray();

              34.}

              35.public static void getBytes(byte[] bs) {

              36.try {

              37.ByteArrayInputStream byteIn = new

              ByteArrayInputStream(bs);

              38.ObjectInputStream in = new ObjectInputStream(byteIn);

              39.Person p = (Person) in.readObject();

              40.System.out.println(p.getName());

              41.System.out.println(p.getTall());

              42.System.out.println(p.getBirthday());

              43.System.out.println(p.getAddress().getCity());

              44.System.out.print(p.getAddress().getStreet());

              45.} catch (Exception e) {

              46.// TODO Auto-generated catch block

              47.e.printStackTrace();

              48.}

              49.}

              50.}

              其中服務端代碼片段為:

              51.in = this.getRequestSocket().getInputStream();

              52.out = this.getRequestSocket().getOutputStream();

              53.byte[] bs = Persistence.toBytes();

              54.System.out.println("發送數字長度:"+bs.length);

              55.out.write(bs);

              56.this.getRequestSocket().close();

              57.客戶端代碼片段為:

              58.InputStream in = request.getInputStream();

              59.byte[] bin = new byte[200];

              60.int length = 0;

              61.while ((length = in.read(bin)) != -1) {

              62.System.out.println("length:" + length);

              63.Persistence.getBytes(bin);

              64.}

            【Java Socket網絡傳輸的序列化機制】相關文章:

            Java語言的特點和實現機制10-01

            PHP socket的配置08-04

            技術知識學習:網絡傳輸介質10-03

            JAVA認證基礎知識:基于反射機制的服務代理調用09-20

            PHP中如何使用socket進行通信08-21

            2016年JAVA認證基礎知識:基于反射機制的服務代理調用08-21

            Java與Java web的區別08-10

            簡單分析PHP中序列化用法介紹08-15

            電腦文件怎么傳輸到iPad07-30

            java習題及答案10-25

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看