فصول جافا ذات الصلة
المقبس
public class Socket extends Object
・ الوظيفة: مقبس عميل TCP ・ طريقة البناء: المقبس (عنوان inetaddress ، منفذ int) قم بإنشاء مقبس دفق وقم بتوصيله برقم المنفذ المحدد لعنوان IP المحدد ・ الطرق الشائعة:
Serversocket
public class ServerSocket extends Object
・ الوظيفة: مقبس خادم TCP ・ طريقة البناء: Serversocket (منفذ int) قم بإنشاء مقبس خادم مرتبط بمنفذ معين.
جانب خادم TCP
tcpserver.java
يتبنى الخادم طريقة متعددة الخيوط. في كل مرة يتم فيها إنشاء اتصال ، يتم تشغيل مؤشر ترابط Java ، ويتم إرسال صورة إلى العميل ، ثم يتم إغلاق اتصال TCP.
package cn.xidian.tcpsocket ؛ استيراد java.io.file ؛ استيراد java.io.fileInputStream ؛ استيراد java.ioException ؛ استيراد java.io.outputstream ؛ استيراد java.net.servers {super () ؛ this.clientsocket ؛ ClientAddress + ")" + "متصل بنجاح!") ؛ system.out.println ("الآن ، نقل بيانات الصورة .........") ؛ startTime طويلة = system.currentTimeMillis () ؛ // الحصول على OutputStreamTputStream out = clientsocket.getOutputstream () ملف ("/home/gavinzhou/test.jpg"))) ؛ byte [] data = new byte [4096] ؛ int length = 0 ؛ بينما ((length = in.read (data))! = -1) {out.write (data ، 0 ، length) ؛ "(" + clientAddress + ")" + "نقل الصورة ناجح ،" + "الوقت:" + ((Endtime-StartTime)) + "MS") ؛ // أغلق المورد في. يلقي IOException {// إنشاء خدمة اتصال TCP ، وربط STRAVESSOCTION TCPSERVER = NEW SERVers (9090) ؛ // قبول الاتصال وتمرير الصورة إلى العميل المتصل. كل اتصال TCP هو مؤشر ترابط Java بينما (True) {Socket Clientsocket = tcpserver.accept () ؛ جديد tcpserver (clientsocket) .start () ؛}}}عميل TCP
TCPClient
package cn.xidian.tcpsocket ؛ استيراد java.io.file ؛ استيراد java.io.fileOutputStream ؛ استيراد java.ioexception ؛ استيراد java.io.inputstream ؛ استيراد java.net.inputstream ؛ استيراد java.net.socket ؛ TCP Service // Connect بمقبس Socket Server Server الأصلي = مقبس جديد (inetaddress.getlocalhost () ، 9090) ؛ // الحصول على دفق الإدخال inputStream inputStream = socket.getInputStream () 0 ؛ بينما ((طول = inputStream.Read (بيانات))! = -1) {out.write (البيانات ، 0 ، طول) ؛} // أغلق المورد Out.Close () ؛ socket.close () ؛}}نتيجة
أولاً ، ابدأ الخادم على سطر الأوامر ثم ابدأ العميل. النتيجة على النحو التالي:
الصورة صغيرة نسبيا وسريعة جدا!
لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول برمجة Java لتنفيذ خادم TCP متعدد الخيوط. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!