تشارك هذه المقالة وظيفة غرفة دردشة Socket Socket المحددة للرجوع إليها. المحتوى المحدد كما يلي
client.java
استيراد java.io.*؛ استيراد java.net.*؛ استيراد java.util.*؛ عميل الفئة العامة {Public Int Port = 8083 ؛ مقبس المقبس = فارغ ؛ public static void main (string [] args) {new client () ؛ // ابدأ التنفيذ} العميل العام () {try {socket = new Socket ("127.0.0.1" ، port) ؛ CTHREAD () جديد. start () ؛ BufferedReader BR = جديد BufferedReader (New InputStreamReader (Socket.getInputStream ())) ؛ سلسلة MSG1 ؛ بينما ((msg1 = br.readline ())! = null) {system.out.println (msg1) ؛ }} catch (استثناء e) {}} cthread يمتد مؤشر الترابط {public void run () {try {bufferedReader re = new BufferedReader (new inputStreamReader (system.in)) ؛ printWriter pw = new printWriter (socket.getOutputStream () ، true) ؛ سلسلة msg2 ؛ بينما (صواب) {msg2 = re.readline () ؛ pw.println (msg2) ؛ }} catch (استثناء e) {E.PrintStackTrace () ؛ }}}}server.java
استيراد java.net.*؛ استيراد java.io.*؛ استيراد java.util.*؛ خادم الفئة العامة {int port ؛ قائمة <Cocket> عملاء ؛ خادم Serversocket ؛ server public () {try {port = 8083 ؛ العملاء = جديد ArrayList <Socket> () ؛ Server = ServersOcket (المنفذ) ؛ System.out.println ("Server chargense") ؛ int co = 1 ؛ بينما (صواب) {socket socket = server.accept () ؛ العملاء. Add (Socket) ؛ mythread mythread = new mythread (socket ، co) ؛ CO ++ ؛ mythread.start () ؛ }} catch (استثناء ex) {system.out.println ("vv") ؛ }} public static void main (string [] args) {new server () ؛ } class myThread يمتد thread {socket ssocket ؛ عدد int الخاص Bufferredreader الخاص BR ؛ printwriter الخاص PW ؛ السلسلة العامة MSG ؛ MyThread (Socket S ، int c) {ssocket = s ؛ العد = ج ؛ } public void run () {try {br = new BufferedReader (new inputStreamReader (ssocket.getInputStream ())) ؛ msg = "Welcome [" + "client" + count + "] في غرفة الدردشة! تحتوي غرفة الدردشة الحالية على [" + clients.size () + "] الأشخاص" ؛ sendmsg () ؛ بينما ((msg = br.readline ())! = null) {msg = "【" + "client" + count + "] say:" + msg ؛ sendmsg () ؛ }} catch (استثناء ex) {}} public void sendmsg () {try {system.out.println (msg) ؛ لـ (int i = clients.size ()-1 ؛ i> = 0 ؛ i--) {pw = new printWriter (clients.get (i) .getOutputStream () ، true) ؛ pw.println (msg) ؛ pw.flush () ؛ }} catch (استثناء EX) {}}}}نتائج التشغيل:
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.