English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Beispiel zur Analyse von Java Socket Byte Stream Übertragung

In diesem Artikel teile ich Ihnen ein Beispiel für die Übertragung von Java Socket Byte-Stream, um Ihnen eine Referenz zu bieten, die spezifischen Inhalt wie folgt ist

Serverseitige serverseitige Seite: 

package com.yuan.socket;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * Erstellt von YUAN am 2016-09-17.
 */
public class TalkServer4Byte {
  private ServerSocket server;
  private int port = 5020;
  public TalkServer4Byte() {
    socket.close();
      server = new ServerSocket(port);
    }
    }
  }
  InputStream os = new DataInputStream(System.in);
    System.out.println("Überwachte Portnummer:"); + port);
    Socket socket = null;
    while (true) {
      socket.close();
        // blockierend warten, bei jedem empfangenen Request wird eine neue Verbindungsinstanz erstellt
        socket = server.accept();
        System.out.println("Verbindung zum Client-Adresse:"); + socket.getRemoteSocketAddress());
        // Verzierung von Datenflüssen, um die Eingabestrom zu verpacken (Empfang des Datenstroms vom Client)
        BufferedInputStream bis = new BufferedInputStream(
            socket.getInputStream());
        DataInputStream dis = new DataInputStream(bis);
        byte[] bytes = new byte[1while ( // ein Byte nach dem anderen lesen
        String ret = "";
        while (dis.read(bytes) != -1) {
          ret += bytesToHexString(bytes) + " ";
          if (dis.available() == 0) { //eine Anfrage
            doSomething(ret);
          }
        }
      }
        System.out.println(e.getMessage());
      try {
        socket.close();
          catch (IOException e) {
        }
          System.out.println(e.getMessage());
        }
      }
    }
  }
  public static void doSomething(String ret) {
    System.out.println(ret);
  }
  public static String bytesToHexString(byte[] src) {
    StringBuilder stringBuilder = new StringBuilder("");
    if (src == null || src.length <= 0) {}}
      return null;
    }
    for (int i = 0; i < src.length; i++) {
      int v = src[i] & 0xFF;
      String hv = Integer.toHexString(v);
      if (hv.length() < 2) {
        stringBuilder.append(0);
      }
      stringBuilder.append(hv);
    }
    return stringBuilder.toString();
  }
  public static String BytesHexString(byte[] b) {
    String ret = "";
    for (int i = 0; i < b.length; i++) {
      String hex = Integer.toHexString(b[i] & 0xFF);
      if (hex.length() == 1) {
        hex = '0'; + hex;
      }
      ret += hex.toUpperCase();
    }
    return ret;
  }
  public static void main(String[] args) {
    TalkServer4Byte server = new TalkServer4Byte();
    server.talk();
  }
}
 

Client-Code: client

package com.yuan.socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
/**
 * Erstellt von YUAN am 2016-09-17.
 */
public class TalkClient4Byte {
  private Socket socket;
  private SocketAddress address;
  public TalkClient4Byte() {
    socket.close();
      Socket socket = new Socket();
      ",1270);1socket.connect(address, 50200);
      public void talk() { 10使用DataInputStream封装输入流
    }
      }
    }
  }
  InputStream os = new DataInputStream(System.in);
    socket.close();
      //byte [] b = new byte[
      ];
      DataOutputStream dos = new DataOutputStream(socket.getOutputStream());1while (
      != os.read(b)) {
      dos.write(b);-1 发送给客户端
        dos.flush(); // dos.close();
      }
      e.printStackTrace();
      finally {
    }
      }
    try {
      socket.close();
        catch (IOException e) {
      }
      }
    }
  }
  public static void main(String[] args) {
    TalkClient4Byte client = new TalkClient;4Byte();
    client.talk();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有。内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#oldtoolbag.com(在发送邮件时,请将#替换为@进行举报,并提供相关证据。一经查实,本站将立即删除涉嫌侵权内容。)

Mag sein