تشترك هذه المقالة في مثال على تدفق بايت Java Socket للرجوع إليه. المحتوى المحدد كما يلي
جانب الخادم:
Package com.yuan.socket ؛ استيراد java.io. */فئة عامة Talkserver4byte {Private ServersOcket Server ؛ منفذ int الخاص = 5020 ؛ Public Talkserver4byte () {try {server = new ServersOcket (port) ؛ } catch (ioException e) {}} public void talk () {system.out.println ("منفذ الشاشة:" + منفذ) ؛ مقبس المقبس = فارغ ؛ بينما (صواب) {try {// الحظر والانتظار ، قم بإنشاء مثيل اتصال جديد لكل طلب مستلم Socket = server.accept () ؛ System.out.println ("Connect Client Address:" + socket.getRemotesCetockadDress ()) ؛ // Tream Tream Bufferreader يغلف دفق الإدخال (استلام دفق العميل) BufferedInputStream Bis = جديد BufferedInputStream (Socket.getInputStream ()) ؛ DatainputStream dis = new DatainputStream (BIS) ؛ بايت [] بايت = بايت جديد [1] ؛ // اقرأ بايت واحد في وقت ret = "" ؛ بينما (dis.read (bytes)! = -1) {ret + = bytestoHexString (bytes) + "" ؛ if (dis.available () == 0) {// طلب dosomething (ret) ؛ }}} catch (ioException e) {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) ؛ } السلسلة الثابتة العامة bytestoHexString (byte [] src) {StringBuilder StringBuilder = new StringBuilder ("") ؛ if (src == null || src.length <= 0) {return null ؛ } لـ (int i = 0 ؛ i <src.length ؛ i ++) {int v = src [i] & 0xff ؛ سلسلة hv = integer.toHexString (v) ؛ if (hv.length () <2) {StringBuilder.Append (0) ؛ } StringBuilder.Append (HV) ؛ } return stringBuilder.toString () ؛ } السلسلة الثابتة العامة byteshexstring (byte [] b) {string ret = "" ؛ لـ (int i = 0 ؛ i <b.length ؛ i ++) {string hex = integer.toHexString (b [i] & 0xff) ؛ if (hex.length () == 1) {hex = '0' + hex ؛ } ret += Hex.ToupperCase () ؛ } إرجاع ret ؛ } public static void main (string [] args) {talkserver4byte server = new talkserver4byte () ؛ server.talk () ؛ }} رمز عميل العميل:
package com.yuan.socket ؛ import java.io.datainputStream ؛ استيراد java.io.dataoutputstream ؛ استيراد java.io.ioException ؛ استيراد java.io.inputstream ؛ استيراد java.net.inputsocketaddress 2016-09-17. */class public talkclient4byte {private Socket Socket ؛ عنوان المقبس الخاص ؛ public talkclient4byte () {try {socket = new Socket () ؛ العنوان = جديد inetsocketaddress ("127.0.0.1" ، 5020) ؛ Socket.connect (العنوان ، 1000) ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} public void talk () {try {// استخدم datainputStream لتغليف دفق الإدخال inputStream os = جديد datainputStream (system.in) ؛ بايت [] ب = بايت جديد [1] ؛ DataOutputStream DOS = جديد dataOutputStream (socket.getOutputStream ()) ؛ بينما (-1! = os.read (b)) {dos.write (b) ؛ // إرسال إلى العميل} dos.flush () ؛ dos.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {try {socket.close () ؛ } catch (ioException e) {}}} public static void main (string [] args) {talkclient4byte client = new TalkClient4Byte () ؛ client.talk () ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.