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

Java socket byte stream transmission example analysis

This article shares a Java socket byte stream transmission example for everyone's reference, the specific content is as follows

Server-side server: 

package com.yuan.socket;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * Created by YUAN on 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("Monitoring port: " + port);
    Socket socket = null;
    while (true) {
      socket.close();
        // Blocking wait, a new connection instance is created every time a request is received
        socket = server.accept();
        System.out.println("Connection client address: " + socket.getRemoteSocketAddress());
        // Decorating stream BufferedReader wrapping the input stream (receiving the client's stream)
        BufferedInputStream bis = new BufferedInputStream(
            socket.getInputStream());
        DataInputStream dis = new DataInputStream(bis);
        byte[] bytes = new byte[1while ( // Reading one byte at a time
        String ret = "";
        while (dis.read(bytes) != -1) {
          ret += bytesToHexString(bytes) + " ";
          if (dis.available() == 0) { //A request
            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 client code:

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;
/**
 * Created by YUAN on 2016-09-17.
 */
public class TalkClient4Byte {
  private Socket socket;
  private SocketAddress address;
  public TalkClient4Byte() {
    socket.close();
      socket = new Socket();
      ",1270);1socket.connect(address, 50200);
      public void talk() { 10Using DataInputStream to encapsulate the input stream
    }
      }
    }
  }
  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 send to the client
        dos.flush(); // dos.close();
      }
      e.printStackTrace();
      finally {
    }
      }
    try {
      socket.close();
        catch (IOException e) {
      }
      }
    }
  }
  public static void main(String[] args) {
    TalkClient4Byte client = new TalkClient4Byte();
    client.talk();
  }
}

That's all for this article. I hope it will be helpful to your studies and that you will support the Naiya Tutorial more.

Declaration: The content of this article is from the Internet, and the copyright belongs to the original author. The content is contributed and uploaded by Internet users spontaneously. This website does not own the copyright, has not been manually edited, and does not assume any relevant legal liability. If you find any content suspected of copyright infringement, please send an email to: notice#w3Please send an email to report any violations, replacing '#' with '@' in the email address, and providing relevant evidence. Once verified, the website will immediately delete the infringing content.

You may also like