「java模拟简易qq聊天」java写聊天室

博主:adminadmin 2022-12-29 08:48:07 53

本篇文章给大家谈谈java模拟简易qq聊天,以及java写聊天室对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求一个用java编写的套接字实现类似于QQ对话的程序,急用

有两个类,服务器和客户端、

服务器类代码:

package chat;

import java.io.*;

import java.net.*;

import java.util.*;

/*服务器类*/

public class Server {

public ListSocket socketList = new ArrayListSocket();//存放所有连接的客户端的集合

public ServerSocket server;//服务器

public int portNum;//端口号

public Server(int portNum){

this.portNum = portNum;

}

public void innit(){

try {

server = new ServerSocket(portNum);

System.out.println("服务器开启成功!");

int socketNum = 0;

while(true){

Socket socket = server.accept();//被动等待客户端的连接

socketNum++;

System.out.println("第"+socketNum+"个客户端连接成功!!");

socketList.add(socket);//连接的客户端存放到集合里面

new RWThread(socket).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

class RWThread extends Thread{//接收和发送消息的线程

public Socket socket;

public RWThread(Socket socket){

this.socket = socket;

}

public void run() {

super.run();

try {

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

while(true){

String message = br.readLine();

System.out.println(message);//接收客户端发来的消息

for(int i=0;isocketList.size();i++){//发送给所有连接的客户端

PrintWriter pw = new PrintWriter(new OutputStreamWriter(socketList.get(i).getOutputStream()));

pw.println(message);

pw.flush();

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

int portNum = 8888;//创建服务器的端口号

Server server = new Server(portNum);

server.innit();

}

}

客户端类:

package chat;

import java.io.*;

import java.net.*;

import java.util.*;

/*客户端类*/

public class Client {

public Socket socket;

public Client(){

Scanner sca = new Scanner(System.in);

try {

socket = new Socket("127.0.0.1",8888);//创建客户端

new ReadThread(socket).start();//开启读取从服务器端发来的信息

while(true){

PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));

String message = sca.nextLine();

pw.println(message);//向服务器发送信息

pw.flush();

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

System.out.println("错误:服务器未开启!!!");

}

}

class ReadThread extends Thread{//读取服务器发来信息的线程

public Socket socket;

public ReadThread(Socket socket){

this.socket = socket;

}

public void run() {

super.run();

try {

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

while(true){

String message = br.readLine();

System.out.println(message);//输出信息

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

Client client = new Client();

}

}

现打开服务器类,然后可以打开多个客户端进行聊天

关于仿QQ聊天对话框的JAVA代码

1、swing的界面可以直接用netbeans画出来嘛。

2、可以把输出的聊天内容都放在一个StringBuffer里,每打出一句话,就把这句话追加在StringBuffer,然后把StringBuffer里的内容输出到Textarea中。

3、好友列表可以用JList

怎样用java 编写简易qq聊天工具????

首先,学习java GUI编程,学习监听器。建议看马士兵的视频。然后上网上down源代码,分析类,确定类的属性和方法。第一遍,就是跟着源码敲一遍,然后分段看,一段一段的看懂,再实现。慢慢就会了。很有收获滴! 这是高仿QQ2012登录界面 源代码

Java网络编程怎么实现类似QQ的好友聊天功能

之前有实现过类似的功能,用socket通讯,然后序列化一个对象传过去

java 如何模仿QQ聊天框那样可以显示文字与图片啊?

两种解决办法,

第一种使用纯java的方式,使用组件JTextPane 或者JEditorPane 来显示图片和文字

第二种使用JEditorPane,但是里面存放HTML代码. 用HTML来控制文字和图片的显示

关于java模拟简易qq聊天和java写聊天室的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-29,除非注明,否则均为首码项目网原创文章,转载请注明出处。