日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于Java網(wǎng)絡編程和多線程的多對多聊天系統(tǒng)

瀏覽:137日期:2022-08-14 11:10:13
1.前言

程序實現(xiàn)基于星型結構(服務器接收來自各個客戶端發(fā)送的信息,然后將信息傳遞給其他客戶端界面并在其他客戶端界面顯示發(fā)送的信息)

基于Java網(wǎng)絡編程和多線程的多對多聊天系統(tǒng)

2.類圖

基于Java網(wǎng)絡編程和多線程的多對多聊天系統(tǒng)

3.代碼

客戶端代碼:

package netProgram;import java.io.IOException;import java.net.Socket;import java.net.SocketAddress;public class Client implements ScreenInputInterface{ private SocketHandler socketHandler; public void start(){new Thread(new ScreenInputRunIns(this)).start();try { socketHandler = new SocketHandler(new Socket('127.0.0.1',666),null); new Thread(socketHandler).start();} catch (IOException e) { e.printStackTrace();} } @Override public void send(String msg) {socketHandler.sendMsg(msg); } /* @Override public void send(String msg, SocketAddress address) {socketHandler.sendMsg(msg); }*/}

服務端代碼:

package netProgram;import java.io.IOException;import java.net.ServerSocket;import java.net.SocketAddress;import java.util.ArrayList;import java.util.List;public class Server implements ScreenInputInterface{ private List<SocketHandler> clients = new ArrayList<>(); private ServerSocket serverSocket; public void start(){//new Thread(new ScreenInputRunIns(this)).start();try { serverSocket = new ServerSocket(666); while (true){SocketHandler socketHandler = new SocketHandler(serverSocket.accept(),this);clients.add(socketHandler);System.out.println(socketHandler.getSocket().getRemoteSocketAddress()+'進入聊天系統(tǒng)');new Thread(socketHandler).start(); }} catch (IOException e) { e.printStackTrace();} } @Override public void send(String msg) {for (SocketHandler s:clients) { s.sendMsg(msg);} } /* @Override public void send(String msg, SocketAddress address) {for (SocketHandler s:clients) { if (s.getSocket().getRemoteSocketAddress().equals(address)){continue; } s.sendMsg(msg);} }*/ public static void main(String[] args) {new Server().start(); }}

屏幕輸入信息接口:

package netProgram;import java.net.SocketAddress;public interface ScreenInputInterface { void send(String msg);// void send(String msg, SocketAddress address);}

用于各個端口輸入信息的創(chuàng)建的線程對象:

package netProgram;import java.util.Scanner;public class ScreenInputRunIns implements Runnable{ private ScreenInputInterface screenInputInterface; private Scanner input = new Scanner(System.in); public ScreenInputRunIns(ScreenInputInterface screenInputInterface) {this.screenInputInterface = screenInputInterface; } @Override public void run() {//屏幕實時輸入while (true){ String msg = input.nextLine();// screenInputInterface.send(msg,null); screenInputInterface.send(msg);} }}

套接字處理器(用于傳輸數(shù)據(jù):實際發(fā)送信息到輸出流并實時監(jiān)聽各個端口的輸入且負責顯示):

package netProgram;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;public class SocketHandler implements Runnable{ private String clientName; private Socket socket; private PrintWriter writer; private Server server; public SocketHandler(Socket socket,Server server) throws IOException {this.socket = socket;this.server = server;clientName = '<'+socket.getLocalSocketAddress()+'>';writer = new PrintWriter(this.socket.getOutputStream()); } public Socket getSocket() {return socket; } public void sendMsg(String msg){if (server!=null) writer.println(msg);else writer.println(clientName+':'+msg);writer.flush(); } @Override public void run() {while(true){//監(jiān)聽輸入流的輸入 try {BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));String receiveMsg = null;System.out.println();if ((receiveMsg = reader.readLine())!=null&&!(receiveMsg.equals(''))){ if (server!=null){//server.send(receiveMsg,socket.getRemoteSocketAddress());server.send(receiveMsg); }else {System.out.println(receiveMsg); }} } catch (IOException e) {e.printStackTrace(); }} }}

負責啟動的各個端口的客戶端代碼:

package netProgram;public class ClientLinked { public static void main(String[] args) {new Client().start(); }}

package netProgram;public class ClientLinked1 { public static void main(String[] args) {new Client().start(); }}

package netProgram;public class ClientLinked2 { public static void main(String[] args) {new Client().start(); }}

服務端啟動代碼在服務端類的main方法中。

到此這篇關于基于Java網(wǎng)絡編程和多線程的多對多聊天系統(tǒng)的文章就介紹到這了,更多相關java實現(xiàn)多對多聊天系統(tǒng)內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三区精品 | 精品在线99| 日本在线啊啊| 日本一区二区高清不卡| 日本а中文在线天堂| 久久九九精品| 在线综合视频| 在线一区二区三区视频| 色狠狠一区二区三区| 中文字幕亚洲影视| 四虎成人精品一区二区免费网站| 亚洲制服欧美另类| 五月亚洲婷婷 | 国产成人精品一区二区免费看京| 国产一区调教| 欧洲一区二区三区精品| 久久精品国产www456c0m| 香蕉精品视频在线观看| 丝袜亚洲另类欧美| 欧美在线黄色| 欧美91在线| 五月激情久久| 爽好久久久欧美精品| 久久国产三级| 天堂√中文最新版在线| av亚洲在线观看| 亚洲精品在线a| 国产精品观看| 日韩欧美一区二区三区免费看| 99久久亚洲精品蜜臀| 久热综合在线亚洲精品| 国产精品一区二区三区av| 毛片在线网站| 国产视频一区三区| 欧美日韩99| 国产一区二区三区四区五区| 日韩精品麻豆| 蜜臀av一区二区三区| 国产精品www.| 欧美.日韩.国产.一区.二区| 亚洲v天堂v手机在线| 久久影院一区二区三区| 99精品一区| 日韩成人精品一区二区三区| 国产成人精品亚洲线观看| 9久re热视频在线精品| 欧美在线看片| 在线一区av| 一区二区不卡| 国产福利电影在线播放| 国产亚洲永久域名| 国产精品videossex| 91精品蜜臀一区二区三区在线| 中文字幕一区二区精品区| 国产+成+人+亚洲欧洲在线| 国产精品女主播一区二区三区| 欧美极品一区二区三区| av不卡在线| 精品资源在线| 视频在线观看91| 国产精品久久久久久久久久10秀 | 99国产精品免费视频观看| 日韩一区二区三区在线看| 超碰超碰人人人人精品| 亚洲三级精品| 国产91在线精品| 亚洲另类av| 日本韩国欧美超级黄在线观看| 亚洲精品进入| 欧美日韩精品一区二区视频| 国产精品成人一区二区网站软件| 亚洲一区亚洲| 日韩免费视频| 国产精品红桃| 蜜桃伊人久久| 四虎884aa成人精品最新| 久久激情av| 亚洲欧美日韩国产综合精品二区 | 麻豆精品少妇| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲伊人av| 麻豆精品视频在线观看视频| 亚洲精品三级| 欧美日韩国产综合网| 精品三区视频| 无码日韩精品一区二区免费| 女人天堂亚洲aⅴ在线观看| 国产 日韩 欧美 综合 一区 | 日本特黄久久久高潮| 欧美成人综合| 欧美日韩在线观看首页| 国产精品蜜月aⅴ在线| 视频一区二区国产| 91精品在线观看国产| 国产精品成人一区二区不卡| 国产免费av一区二区三区| 蜜臀va亚洲va欧美va天堂| 99在线精品免费视频九九视| 亚洲大片在线| 日韩成人亚洲| 91视频一区| 国产精品日本一区二区三区在线| 中文字幕av一区二区三区四区| 婷婷综合五月| 91精品婷婷色在线观看| 欧美日韩在线观看首页| 麻豆成人av在线| 国产欧美日韩在线观看视频| 亚洲精品动态| 丝袜诱惑制服诱惑色一区在线观看| 亚洲成人一区| 亚洲二区精品| 99视频精品视频高清免费| 中文字幕高清在线播放| 成人一二三区| 在线看片国产福利你懂的| 国产精品www994| 国产精品亚洲一区二区在线观看| 亚洲精品福利| 日韩三级精品| 日本精品另类| 国产日韩欧美三级| 日韩高清电影免费| 日本电影久久久| 国产精品亚洲一区二区在线观看| 欧美一级二区| 久久爱www成人| 久久不卡国产精品一区二区| 国产精品一卡| 精品国产午夜| 日韩三区在线| 神马日本精品| 91精品国产成人观看| 亚州av乱码久久精品蜜桃| 欧美精品自拍| 亚洲精品麻豆| 国产精品黄网站| 欧美好骚综合网| 欧美aa一级| 最新亚洲一区| 玖玖精品视频| 日韩不卡一区二区三区| 国产毛片一区二区三区 | 欧美国产专区| 精品91福利视频| 国产91欧美| 不卡一区2区| 中文字幕免费精品| 国产欧美日韩在线一区二区| 色婷婷综合网| 午夜视频精品| 欧美日一区二区三区在线观看国产免 | 午夜久久一区| 另类av一区二区| 久久精品 人人爱| 国产精品成人a在线观看| 欧美日韩国产精品一区二区亚洲| 视频一区二区中文字幕| 国产极品一区| 韩日一区二区三区| 日韩精品中文字幕吗一区二区| 国产激情久久| 欧美日韩一区二区综合| 亚洲一二三区视频| 久久精品亚洲| aⅴ色国产欧美| 青青国产精品| 日韩精品专区| 亚洲午夜免费| 黄毛片在线观看| 蜜桃av一区二区三区电影| 国产麻豆精品久久| 国产在线看片免费视频在线观看| 蜜臀av免费一区二区三区| 亚洲1区在线| 欧美三区四区| 日韩av不卡一区二区| 欧美日韩精品在线一区| 欧美伊人久久| jiujiure精品视频播放| 久久不卡日韩美女| 亚洲欧美日本国产专区一区| 麻豆精品久久久| 久久国产99| 亚洲最新无码中文字幕久久 | 欧美精品影院| 欧美.日韩.国产.一区.二区| 国产精品密蕾丝视频下载| 欧美日韩国产亚洲一区| 久久久精品区| 伊人精品久久| 91精品国产成人观看| 国产欧美日韩精品高清二区综合区| 久久亚洲精品中文字幕蜜潮电影| 日韩精品第一| 欧美特黄一级| 精品欧美视频| 日本久久一区| 国产亚洲综合精品| 在线天堂资源www在线污|