Cet article partage un exemple de streaming d'octets Java Socket pour votre référence. Le contenu spécifique est le suivant
Côté serveur:
package com.yuan.socket; import java.io. *; import java.net.serversocket; import java.net.socket; / ** * créé par Yuan le 2016-09-17. * / classe publique talkserver4byte {private serversocket Server; port int privé = 5020; public talkserver4byte () {try {server = new serversocket (port); } catch (ioException e) {}} public void talk () {System.out.println ("Monitor Port:" + port); Douille à douille = null; while (true) {try {// bloquer et attendre, créant une nouvelle instance de connexion pour chaque demande reçue socket = server.accept (); System.out.println ("Connecter l'adresse du client:" + socket.getRemotesocketAddress ()); // Decorative Stream BufferedReader encapsule le flux d'entrée (Stream Client) BufferedInputStream Bis = new BufferedInputStream (socket.getInputStream ()); DatAnputStream dis = new DataRainputStream (bis); octet [] octets = nouveau octet [1]; // Lire un octet à la fois ret = ""; while (dis.read (bytes)! = -1) {ret + = byTestoHExString (bytes) + ""; if (dis.Available () == 0) {// une demande dosomething (ret); }}} catch (ioException e) {System.out.println (e.getMessage ()); } enfin {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; } pour (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 (); }} Code client client:
package com.yuan.socket; import java.io.datainputstream; import java.io.dataoutputStream; import java.io.ioexception; import java.io.inputStream; import java.net.inputSocketAddress; * / classe publique talkClient4Byte {socket privé; Adresse privée de socketaddress; public talkClient4Byte () {try {socket = new socket (); Adresse = new InetsocketAddress ("127.0.0.1", 5020); socket.connect (adresse, 1000); } catch (ioException e) {e.printStackTrace (); }} public void talk () {try {// Utilisez DatainputStream pour encapsuler le flux d'entrée inputStream OS = new DatAnputStream (System.in); octet [] b = nouveau octet [1]; DataOutputStream doss = new DataOutputStream (socket.getOutputStream ()); while (-1! = os.read (b)) {dos.write (b); // Envoyer au client} dos.flush (); dos.close (); } catch (ioException e) {e.printStackTrace (); } enfin {try {socket.close (); } catch (ioException e) {}}} public static void main (String [] args) {talkClient4Byte client = new talkClient4Byte (); client.talk (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.