成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
Java Socket網絡傳輸要怎么樣才能更好的使用相關的技術服務。下面我們就看看有關代碼的詳細介紹,希望大家有所幫助。

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

其中服務端代碼片段為:

  1. in = this.getRequestSocket().getInputStream();  
  2. out = this.getRequestSocket().getOutputStream();  
  3. byte[] bs = Persistence.toBytes();  
  4. System.out.println("發送數字長度:"+bs.length);  
  5. out.write(bs);  
  6. this.getRequestSocket().close();  
  7. 客戶端代碼片段為:  
  8. InputStream in = request.getInputStream();  
  9. byte[] bin = new byte[200];  
  10. int length = 0;  
  11. while ((length = in.read(bin)) != -1) {  
  12. System.out.println("length:" + length);  
  13. Persistence.getBytes(bin);  

以上就是對Java Socket網絡傳輸的詳細介紹,希望大家有所幫助。

【編輯推薦】

  1. Java Socket通訊客戶端代碼編寫教程
  2. Java Socket通訊如何進行客戶端的信息通信
  3. Java Socket服務端具體命令編寫
  4. Java Socket對象原理的詳細介紹
  5. Java socket通信與C++之間的不解之緣
責任編輯:張浩 來源: 博客園
相關推薦

2010-03-19 15:54:21

Java Socket

2009-08-28 10:18:48

Java序列化

2018-03-19 10:20:23

Java序列化反序列化

2009-06-14 22:01:27

Java對象序列化反序列化

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2024-09-03 08:17:59

2013-03-11 13:55:03

JavaJSON

2011-04-02 09:04:49

Java序列化

2009-08-24 17:14:08

C#序列化

2011-06-01 14:26:11

序列化

2011-03-04 09:25:51

Java序列化

2012-04-13 10:45:59

XML

2009-08-06 11:16:25

C#序列化和反序列化

2011-05-18 15:20:13

XML

2023-12-13 13:49:52

Python序列化模塊

2021-03-30 15:10:50

Java序列化

2009-09-09 15:47:27

XML序列化和反序列化

2009-09-09 14:45:41

XML序列化和反序列化

2023-12-26 07:26:07

Java序列化反序列化機制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本三级网站在线观看 | 午夜精品在线观看 | 精品一区二区不卡 | 天堂色综合 | 国产精品久久久久久久久久 | 久久免费大片 | 日韩欧美一区二区三区 | 黄色毛片在线观看 | 久久综合一区 | 四虎影院久久 | 亚洲国产精品久久久 | 国产成人精品一区 | 国产精品久久久久久久久久久免费看 | 久久久久av | 综合色站导航 | 精品影院 | 国产免费一二三区 | 888久久久| 99色综合 | 五月综合激情婷婷 | 中文字幕一区二区在线观看 | 成人福利在线观看 | 久久逼逼 | 六月成人网 | 亚洲成人精 | 请别相信他免费喜剧电影在线观看 | 久久久久亚洲精品 | 国产视频二区在线观看 | 狠狠爱免费视频 | 亚洲色综合 | 国产一区二区三区久久久久久久久 | 欧美精品一区三区 | 韩日精品一区 | 国产91在线播放 | 国产成人网 | 九九免费| 亚洲狠狠 | 免费一级黄色录像 | 日韩福利在线 | 免费在线观看成人 | 国产亚洲精品综合一区 |