<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java Socket網(wǎng)絡(luò)傳輸?shù)男蛄谢瘷C制

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

    關(guān)于Java Socket網(wǎng)絡(luò)傳輸?shù)男蛄谢瘷C制

      采用Java Socket網(wǎng)絡(luò)傳輸?shù)男蛄谢瘷C制,將對象“壓扁”成二進制字節(jié),將二進制字節(jié)在網(wǎng)絡(luò)中傳輸;

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

      我們這里用第一種方法:

      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.//在網(wǎng)絡(luò)中進行傳輸

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

      其中服務(wù)端代碼片段為:

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

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

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

      54.System.out.println("發(fā)送數(shù)字長度:"+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網(wǎng)絡(luò)傳輸?shù)男蛄谢瘷C制】相關(guān)文章:

    Java語言的特點和實現(xiàn)機制10-01

    PHP socket的配置08-04

    技術(shù)知識學(xué)習:網(wǎng)絡(luò)傳輸介質(zhì)10-03

    JAVA認證基礎(chǔ)知識:基于反射機制的服務(wù)代理調(diào)用09-20

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

    2016年JAVA認證基礎(chǔ)知識:基于反射機制的服務(wù)代理調(diào)用08-21

    Java與Java web的區(qū)別08-10

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

    電腦文件怎么傳輸?shù)絠Pad07-30

    java習題及答案10-25

    主站蜘蛛池模板: 正在播放国产精品每日更新| 麻豆成人久久精品二区三区免费 | 麻豆aⅴ精品无码一区二区| 欧美精品亚洲精品日韩专区va| 蜜芽亚洲av无码精品色午夜| 日韩精品亚洲专区在线观看 | 国产精品污WWW一区二区三区| 91国内外精品自在线播放| 亚洲AV永久纯肉无码精品动漫 | 国内精品久久久久影院免费| 国产精品成人观看视频国产奇米| 久久精品国产色蜜蜜麻豆| 99久久精品免费看国产免费| 国产精品久久久久久福利69堂| 骚片AV蜜桃精品一区| 亚洲精品国产精品乱码不卡| 日韩欧美国产精品第一页不卡| 国产精品亚洲αv天堂无码| 久久国产精品成人免费| 国产精品久久久久久久久鸭| 国内揄拍高清国内精品对白| 蜜臀久久99精品久久久久久小说| 亚洲精品成人网站在线观看| 精品国产三级a∨在线| 亚洲国产精品人人做人人爱| 久久亚洲国产精品123区| 国产在线精品一区免费香蕉| 99热精品久久只有精品| 99免费精品国产| 国产精品国产三级国产a| 国产精品视频一区二区三区不卡| 尤物国产在线精品福利一区| 亚洲国产精品国自产电影| 在线观看91精品国产入口| 亚洲综合一区二区国产精品| 91久久精品视频| 国产精品青青在线观看爽香蕉| 国产精品狼人久久久久影院 | 久久夜色精品国产网站| 亚洲精品乱码久久久久久自慰| 宅男宅女精品国产AV天堂|