请教java聊天室的问题 我想实现一个聊天室,用socket实现的,然后我想在客户端能看到所有的在线用户,但是现在有个问题 当有新的用户参与进来,怎么样才能让客户端进行刷新。我一开始是这样做的 在服务器定义一个静态变量 Map 用于记录所有在线用户的名字和ip 然后客户端定时进行向服务器端得到那个Map 但是都是不成功 请问大家还有什么好的办法么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也是这样想的啊 但是 实现不了 我把源码贴上来好了 这个是服务器端线程的 map是静态变量public void run() { try { while (true) { String message = in.readLine(); if (message.contains("login")) { String name = message.replaceAll("login", ""); synchronized (users) { users.put(name, socket.getInetAddress() .getHostAddress().replace("/", "")); objectOut.writeObject(users); } }// 结束if else if (message.contains("get")) { synchronized (users) { objectOut.writeObject(users); } } else { } }// 结束while }// 结束try客户端 监听的线程 刷新 public void run() { try { while (true) { Thread.sleep(1000); out.println("get"); this.users = (Map) objectIn.readObject(); model.removeAllElements(); Iterator it = users.keySet().iterator(); while (it.hasNext()) { model.addElement(it.next()); } } } catch (Exception e) { } 那个map老是得不到更新的那个map 求一个递归算法,在线等答案! Tomcat重启后log4j不打印日志 路径问题? jsp使用session无法保存;id刷新就变化 一个关于打印的问题? static log4j的xml配置文件的使用问题 请教java如何调用一个c++写的普通动态库? 急急急!!!Java高手请帮一下小弟。 简单的Java问题,可我不会 eclipse中输入小写类名,弹出的那个错误提示框如何实现,哪位大大知道帮帮忙,在线等 我是初学者,想请教一个问题,谁能帮忙解答下,谢谢。
try {
while (true) {
String message = in.readLine();
if (message.contains("login")) {
String name = message.replaceAll("login", "");
synchronized (users) {
users.put(name, socket.getInetAddress()
.getHostAddress().replace("/", "")); objectOut.writeObject(users);
}
}// 结束if
else if (message.contains("get")) {
synchronized (users) {
objectOut.writeObject(users);
}
} else { }
}// 结束while
}// 结束try客户端 监听的线程 刷新 public void run() {
try {
while (true) {
Thread.sleep(1000);
out.println("get");
this.users = (Map) objectIn.readObject();
model.removeAllElements();
Iterator it = users.keySet().iterator();
while (it.hasNext()) {
model.addElement(it.next());
} }
} catch (Exception e) { }