English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
لقدشاركتفيهذاالمقالمثالاًللتقديمباستخدامنقلالبايتاتباستخدامsocketفيJava،للمشاركة،وتفاصيلالمحتوىكمايلي
الخادم 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("مونیتورینگ پورت: " + port); Socket socket = null; while (true) { socket.close(); //انتظار غیرفعال، در هر مرتبه که یکطلب دریافت میشود یک نمونه از ارتباط جدید ایجاد میشود socket = server.accept(); System.out.println("عنوان العميل المتصل: " + socket.getRemoteSocketAddress()); //دریافت ورودی از طریق装饰流BufferedReader (دریافت جریان از کاربر) BufferedInputStream bis = new BufferedInputStream( socket.getInputStream()); DataInputStream dis = new DataInputStream(bis); byte[] bytes = new byte[1]; //قراءة byte واحد في المرة String ret = ""; while (dis.read(bytes) != -1) { ret += bytesToHexString(bytes) + " "; إذا (dis.available() == 0) { //طلب واحد 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(""); اگر (src == null || src.length <= 0) { عدد صفر را بازگردانید; } لـ (عدد 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:
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(); address = new InetSocketAddress("127.0.0.1", 5020); // يستخدم DataInputStream لتغليف поток الدخول } } } } InputStream os = new DataInputStream(System.in); socket.close(); byte [] b = new byte[1]; DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); while (-1 != os.read(b)) { dos.write(b); // يُرسل إلى العميل 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(); } }
هذا هو محتوى المقال كله، آمل أن يكون هذا المقال مفيدًا جدًا في تعليماتكم، ونأمل أيضًا أن تشجعوا دروس الصياغة.
البيان: محتوى هذا المقال تم جمعه من الإنترنت، ويحق لصاحب الحقوق أن يكون المالك، ويتم جمع المحتوى من إسهامات المستخدمين عبر الإنترنت، ويشير هذا الموقع إلى أنه لا يملك حقوق الملكية، ولا يتم تعديل المحتوى بشكل يدوي، ولا يتحمل أي مسؤولية قانونية. إذا وجدت محتوى يشتبه في انتهاك حقوق النسخ، فنرجو منك إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (الرجاء استبدال # ب @ عند إرسال البريد الإلكتروني) لإبلاغنا، وتقديم الدليل على ذلك، وسنقوم بإزالة المحتوى المشبوه فور التحقق منه.