تشاركك الأمثلة في هذه المقالة في رمز Java المحدد باستخدام وضع UDP لكتابة برامج الدردشة للرجوع إليه. المحتوى المحدد كما يلي
كود جافا:
/* استخدم وضع UDP لكتابة برنامج دردشة لإرسال وتلقي البيانات. يتلقى مؤشر ترابط واحد ويرسل موضوع واحد. نظرًا لأن الإجراءات الإرسال والاستقبال غير متسقة ، يجب استخدام طريقتين تشغيل. يجب تغليف هاتين الطريقتين في فئات مختلفة. يتجاهل هذا البرنامج بعض معالجة الاستثناءات ولا يضيف مكونات واجهة المستخدم. هذا منفذ إرسال بسيط 9998 قبول المنفذ 9999. يستخدم عنوان بث شبكة محلي ، لذلك تلقيت أيضًا الرسالة التي أرسلتها بنفسي [مثال]: برنامج دردشة وحدة التحكم البسيط*/ import java.net.*؛ استيراد java.io.*؛ Class Demo {public static void main (string [] args) يلقي الاستثناء {datagramsocket sendSocket = جديد datagramsocket (9998) ؛ // إرسال dataGramSocket recevesocket = datagramsocket جديد (9999) ؛ // استلام مؤشر ترابط جديد (msgsend جديد (sendSocket)). start () ؛ // إرسال مؤشر ترابط مؤشر ترابط جديد (msgrece جديد (Recesocket)). start () ؛ // استقبال مؤشر ترابط}} class msgSend يشرف Runnable // Send {private datagramsocket dsock ؛ MSGSEND العامة (datagramsocket dsock) {this.dsock = dsock ؛ } public void run () {bufferedReader bufr = new BufferedReader (new inputStreamReader (system.in)) ؛ سلسلة Linestr = خالية ؛ حاول {بينما (صحيح) {linestr = bufr.ReadLine () ؛ if (linestr! = null) {if (linestr.equals ("Over886")) {break ؛ } آخر {byte [] databuf = linestr.getBytes () ؛ DataGrampacket Datapack = // Data Dacking Datagrampacket (Databuf ، databuf.length ، inetaddress.getByName ("192.168.1.255") ، // broadcast 9999 // target port) ؛ dsock.send (datapack) ؛ }}}} bufr.close () ؛ dsock.close () ؛ } catch (استثناء e) {رمي new runTimeException ("إرسال فشل!") ؛ }}} class msgrece تنفذ runnable // تلقي {private datagramsocket dsock ؛ msgrece العامة (datagramsocket dsock) {this.dsock = dsock ؛ } public void run () {try {when (true) {byte [] databuf = new byte [1024] ؛ dataGrampacket datapack = جديد datagrampacket (databuf ، databuf.length) ؛ dsock.receive (datapack) ؛ // احفظ البيانات التي تم استردادها إلى سلسلة حزم البيانات المحددة IP = datapack.getAddress (). gethostaddress () ؛ سلسلة البيانات = سلسلة جديدة (datapack.getData () ، 0 ، datapack.getLength ()) ؛ int port = datapack.getport () ؛ System.out.println () ؛ System.out.println ("من IP"+IP+"<Port>:"+PORT+"Message") ؛ system.out.println (data) ؛ }} catch (استثناء e) {رمي new runTimeException ("قبول فشل!") ؛ } أخيرًا {dsock.close () ؛ }}}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.