如何实现多用户聊天?就是多个人把信息发给服务器后,服务器在把这些信息返回给每一个人。这个如何实现?苍天啊。。想不通!老师让显示的格式是这样的,在聊天窗口中应该显示这个人的名字和他发送信息的内容 ,我就把这2个东西又封在一个类里了,直接把这个对象发给服务器,那么服务器应该怎么暂时的保存每个用户发的这个对象,然后又如何把它返回给每一个人呢?请教啊!!!!!不明白啊!
调试欢乐多
服务器端的话就需要有个Vector来放置所有客户端请求的socket。当服务器端接收了客户端的请求后,就需要将这个socket放置在Vector中,然后服务器端对客户发来的信息对Vertor中的所有线程进行广播。这样每个客户端就行看到了。
要是理解不了的话,明天写给你。
package ldci.com.chatApp.server;import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;public class StartServer {
private ServerSocket server;
public StartServer(){
try {
// 1. 建立端口,绑定服务
server = new ServerSocket(7655);
new ServerThread().start();
} catch (IOException e) {
System.out.println("端口占用"+e);
}
}
// 2.写内容部类,进行多客户监听
class ServerThread extends Thread{
public void run(){
for(;;){
// 3.开始监听,监听到套接字,并传递给处理套接字类
System.out.println("开始监听");
try {
Socket fromClientSocket = server.accept();
new ProcessRequest(fromClientSocket);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
StartServer myServer = new StartServer();
}}
这是我写的服务器启动那的类,你说的存入Vector是在accept后吗?
去吧,刚写的!