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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

程序?qū)崿F(xiàn)基于星型結(jié)構(gòu)(服務器接收來自各個客戶端發(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方法中。

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

標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本va欧美va精品发布| 亚洲一区二区网站| 中文字幕日韩亚洲| 黄色亚洲精品| 亚洲综合精品四区| 免费欧美在线视频| 日韩一区二区三区四区五区| 亚洲一二av| 日本精品久久| 国产精品成人3p一区二区三区| 国产三级一区| 国产探花在线精品一区二区| 国产精品mv在线观看| 精品国产乱码久久久| 国产成人久久精品一区二区三区| 麻豆理论在线观看| 国精品一区二区| 日韩中文字幕91| 日本va欧美va欧美va精品| 国产精品一区二区美女视频免费看 | www在线观看黄色| 激情国产在线| 亚洲高清成人| 蜜桃av一区二区在线观看| 日韩 欧美一区二区三区| 国产欧美日韩一级| 日韩深夜视频| 性欧美xxxx免费岛国不卡电影| 亚洲资源av| 国产一精品一av一免费爽爽| 久久精品伊人| 欧美色图一区| 视频国产精品| 久久久久观看| 群体交乱之放荡娇妻一区二区| 国产麻豆久久| 性色一区二区| 国产精品久久久久毛片大屁完整版| 福利片在线一区二区| 黄色亚洲大片免费在线观看| 综合亚洲色图| 久久中文字幕一区二区| 久久精品国产亚洲夜色av网站| 亚洲精品伦理| 国产精品精品| 蜜臀久久99精品久久久久久9| 国产欧美亚洲一区| 日韩免费在线| 中文字幕成在线观看| 蜜桃视频一区二区三区在线观看 | 午夜影院一区| 日本中文字幕视频一区| 成人片免费看| 亚洲精品自拍| 国产999精品在线观看| 久久亚洲欧美| 成人精品视频| 亚洲精品亚洲人成在线观看| 国产精品久久久久久久免费观看 | 精品视频在线观看网站| 99久久夜色精品国产亚洲狼| 日韩**一区毛片| 欧美黄色网页| 欧美日韩一区自拍| 伊人久久亚洲美女图片| 国产精品久久国产愉拍| 欧美1区免费| 国产免费av国片精品草莓男男| 99久久久久久中文字幕一区| 久久精品97| 亚洲一区成人| 日韩欧美另类一区二区| 欧美一级一区| 亚洲欧美日韩高清在线| 欧美91在线|欧美| 在线成人直播| 成人小电影网站| 国产精品xvideos88| 在线亚洲精品| 中文在线资源| 国产精选久久| 亚洲影视一区二区三区| 亚洲91久久| 久久精品欧洲| 日韩1区2区3区| 在线 亚洲欧美在线综合一区| 日韩成人精品一区| 欧美日韩亚洲一区在线观看| 久久高清国产| 亚洲欧美综合| 国产欧美一区二区三区米奇| 最新国产精品| 日本大胆欧美人术艺术动态| 久久国产毛片| 精品国产美女a久久9999| 91精品国产自产精品男人的天堂| 香蕉视频成人在线观看| 亚洲黑丝一区二区| 日韩中文在线电影| 成人日韩av| 麻豆精品视频在线观看免费| 日韩avvvv在线播放| 综合一区在线| 亚洲久久视频| 在线免费观看亚洲| 欧美日韩视频| 极品日韩av| 激情婷婷综合| 亚洲欧美伊人| 欧美美女一区| 午夜国产精品视频| 一区二区视频欧美| 99综合视频| 噜噜噜躁狠狠躁狠狠精品视频| 狠狠久久婷婷| 美女91精品| 亚洲欧美在线综合| 日本午夜免费一区二区| 日本一区二区三区中文字幕| 婷婷综合一区| 亚洲精品系列| 日韩激情中文字幕| 日韩精品免费一区二区夜夜嗨| 亚洲综合专区| 日韩免费精品| 国产精品午夜一区二区三区| 国产精品超碰| 国产suv精品一区| 精品久久网站| 日韩中文在线电影| 亚洲精品国产偷自在线观看| 日韩午夜精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 午夜国产欧美理论在线播放| 亚洲主播在线| 亚洲一区二区日韩| 天堂久久av| 国产剧情一区二区在线观看| 国产黄色精品| 日韩一区欧美| 亚洲福利免费| 蜜臀精品一区二区三区在线观看 | 合欧美一区二区三区| 亚洲免费影院| 亚洲久久视频| 国产欧美69| 精品国产成人| 日韩精品欧美| 九一国产精品| 亚洲午夜电影| 中文一区一区三区免费在线观 | 91精品一区二区三区综合在线爱| 天堂日韩电影| 99视频一区| 日本不卡视频在线观看| 国产精品videossex久久发布| 精品福利久久久| 亚洲精品小说| 日韩激情综合| 国产精品成人a在线观看| 91亚洲国产| 激情综合亚洲| 日本aⅴ亚洲精品中文乱码| 久久av电影| 欧美精品高清| 欧美一区=区| 国产午夜久久av| 色黄视频在线观看| 亚洲综合不卡| 老鸭窝一区二区久久精品| 日日夜夜免费精品视频| 日韩一区二区三区在线看| 国产精品22p| 亚洲成人va| 免费在线观看视频一区| 综合日韩在线| 九九久久国产| 欧美+日本+国产+在线a∨观看| 亚洲人成亚洲精品| 久久天堂影院| 午夜国产精品视频免费体验区| 日韩国产欧美在线播放| 精品美女久久| 国产在线不卡| 日韩国产欧美一区二区三区| 韩国精品主播一区二区在线观看| 久热综合在线亚洲精品| 免费看一区二区三区| 久久精品青草| 91精品在线免费视频| 美女国产一区二区三区| 蜜桃成人av| 国产精品亚洲综合在线观看| 亚洲成人精品| 少妇精品久久久一区二区| 国产aa精品| 亚洲精品一区二区在线播放∴| 国内精品麻豆美女在线播放视频| 亚洲一区二区三区高清不卡| 精品国产亚洲日本|