이 기사에서는 참조를 위해 특정 Java 소켓 채팅방 기능의 특정 코드를 공유합니다. 특정 내용은 다음과 같습니다
Client.java
java.io.*; java.net.*; java.util.*; 공개 클래스 클라이언트 {public int port = 8083; 소켓 소켓 = null; public static void main (String [] args) {new Client (); // 실행 시작} public client () {try {socket = new Socket ( "127.0.0.1", 포트); new cthread (). start (); bufferedReader br = new bufferedReader (new inputStreamReader (socket.getInputStream ())); 문자열 msg1; while ((msg1 = br.readline ())! = null) {system.out.println (msg1); }} catch (Exception e) {}} class cthread는 스레드 {public void run () {try {bufferedReader re = new bufferedReader (system.in); printwriter pw = new printwriter (socket.getoutPutStream (), true); 문자열 msg2; while (true) {msg2 = re.readline (); pw.println (msg2); }} catch (예외 e) {e.printstacktrace (); }}}}Server.java
java.net.*; java.io.*; java.util.*; 공개 클래스 서버 {int port; 목록 <소켓> 클라이언트; 서버 소켓 서버; public server () {try {port = 8083; 클라이언트 = New ArrayList <Socket> (); 서버 = 새 서버 소켓 (포트); System.out.println ( "서버 시작"); int co = 1; while (true) {Socket Socket = Server.accept (); clients.add (소켓); 신화 신화 = 새로운 신화 (소켓, 콜로라); 공동 ++; mythread.start (); }} catch (예외 예) {System.out.println ( "vv"); }} public static void main (String [] args) {new Server (); } Class Mythread는 스레드 {Socket Ssocket; 개인 int 수; 개인 버퍼링 리더 BR; 개인 프린트 라이터 PW; 공개 문자열 MSG; public mythread (소켓 s, int c) {ssocket = s; count = c; } public void run () {try {br = new bufferedReader (new inputStreamReader (ssocket.getInputStream ()); msg = "환영 [" + "client" + count + "]] 채팅방에! 현재 채팅방에는 [" + clients.size () + "] people"; sendmsg (); while ((msg = br.readline ())! = null) {msg = "【" + "client" + count + "] say :" + msg; sendmsg (); }} catch (예외) {}} public void sendmsg () {try {system.out.println (msg); for (int i = clients.size () -1; i> = 0; i-) {pw = new PrintWriter (clients.get (i) .getoutPutStream (), true); pw.println (msg); pw.flush (); }} catch (예외) {}}}}실행 결과 :
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.