Java Socket通信之聊天室功能

网友投稿 423 2023-03-05


Java Socket通信之聊天室功能

本文实例为大家分享了java Socket聊天室功能的具体代码,供大家参考,具体内容如下

Client.java

import java.io.*;

import java.net.*;

import java.util.*;

public class Client {

public int port = 8083;

Socket socket = null;

public static void main(String[] args) {

new Client(); //开始执行

}

public Client() {

try {

socket = new Socket("127.0.0.1", port);

new Cthread().start();

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

String msg1;

while ((msg1 = br.readLine()) != null) {

System.out.println(msg1);

}

} catch (Exception e) {

}

}

class Cthread extends Thread {

public void run() {

try {

BufferedReader re = new BufferedReader(new InputStreamReader(System.in));

PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);

String msg2;

while (true) {

msg2 = re.readLine();

pw.println(msg2);

}

} catch (Exception e) {

e.printStackTrachttp://e();

}

}

}

}

Server.java

import java.net.*;

import java.io.*;

import java.util.*;

public class Server {

int port;

List clients;

ServerSocket server;

public Server() {

try {

port = 8083;

clients = new ArrayList();

server = new ServerSocket(port);

System.out.println("服务器已启动");

int co=1;

while (true) {

Socket socket = server.accept();

clients.add(socket);

Mythread mythread = new Mythread(socket,coxDXTxPbEV);

co++;

mythread.start();

}

} catch (Exception ex) {

System.out.println("vv");

}

}

public static void main(String[] args) {

new Server();

}

class Mythread extends Thread {

Socket ssocket;

private int count;

private BufferedReader br;

private PrintWriter pw;

public String msg;

public Mythread(Socket s,int c) {

ssocket = s;

count=c;

}

public void run() {

try {

br = new BufferedReader(new InputStreamReader(ssocket.getInputStream()));

msg = "欢迎【" +"Client "+count + "】进入聊天室!当前聊天室有【" + clients.size() + "】人";

sendMsg();

while ((msg = br.readLine()) != null) {

msg = "【" +"Client "+count + "】说:" + msg;

sendMsg();

}

} catch (Exception ex) {

}

}

public void sendMsg() {

try {

System.out.println(msg);

xDXTxPbEV for (int i = clients.size() - 1; i >= 0; i--) {

pw = new PrintWriter(clients.get(i).getOutputStream(), true);

pw.println(msg);

pw.flush();

}

} catch (Exception ex) {

}

}

}

}

运行结果:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:usb接口 设计(基于fpga的usb接口设计)
下一篇:云平台管理接口(云平台管理接口怎么用)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~