日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaSocket網(wǎng)絡傳輸?shù)男蛄谢瘷C制

Java Socket網(wǎng)絡傳輸如何才能更好的完成自己的任務?下面我們就來看看有關(guān)的代碼介紹,希望大家有所收獲。在網(wǎng)絡中的兩臺機器中傳輸對象,前提首先是基于同一個平臺,這是序列化的基礎,所以這里主要有兩種做法:

網(wǎng)站的建設創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設計體驗!已為報廢汽車回收等企業(yè)提供專業(yè)服務。

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

自定義協(xié)議,將對象用字符串描述出來,將字符串用二進制表示,在網(wǎng)絡中傳輸,在另外一邊用相反的策略解析這個字符串,重新構(gòu)造業(yè)務對象,這個方法能夠在異構(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)絡中進行傳輸
  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. }

其中服務端代碼片段為:

 
 
 
  1. in = this.getRequestSocket().getInputStream();
  2. out = this.getRequestSocket().getOutputStream();
  3. byte[] bs = Persistence.toBytes();
  4. System.out.println("發(fā)送數(shù)字長度:"+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);
  14. }

以上就是對Java Socket網(wǎng)絡傳輸?shù)脑敿毥榻B,希望大家有所幫助。


當前題目:JavaSocket網(wǎng)絡傳輸?shù)男蛄谢瘷C制
本文路徑:http://m.5511xx.com/article/ccdhspo.html