tomcat7.0.27支持websocket了,求哪位大侠做个用tomcat做服务器的简单的在线即时聊天demo

junes_yu 2012-04-19 12:06:55
我看它自带的demo看不懂..API又全是英文~T_T

求救啊~~~~~~~
...全文
2752 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
abel_jing 2014-12-24
  • 打赏
  • 举报
回复
ChatMessageInbound 报 The hierarchy of the type ChatMessageInbound is inconsisten怎么解决?
楼小漠 2014-10-10
  • 打赏
  • 举报
回复
楼主希望你也发我一份,非常感谢,qinhual@163.com
Arisono 2014-04-04
  • 打赏
  • 举报
回复
有没有关于群聊和指定人聊天的demo,希望可以参考研究,请大神指点江山,我的邮箱542793253@qq.com
feifei19890331 2013-12-24
  • 打赏
  • 举报
回复
大神,能发份demo到我的邮箱么?谢谢谢谢。951739574@qq.com
空旷的风 2013-10-24
  • 打赏
  • 举报
回复
求websocket啊 3318984@qq.com 跪求
111111qaaaa 2013-09-17
  • 打赏
  • 举报
回复
初学websocket、求lz提供一些demo 万分感谢啊、117173427@qq.com
小松哥ss 2013-09-14
  • 打赏
  • 举报
回复
最近在学websocket、万分感谢啊、liangshusong@qq.com
liudaochunxiao 2013-08-15
  • 打赏
  • 举报
回复
lz,刚入门给发个学习学习。谢谢……475140946@qq.com
  • 打赏
  • 举报
回复
lz,跪求一个WebSocket的demo,453525467@qq.com
EngQio 2013-05-27
  • 打赏
  • 举报
回复
最近小弟我也在弄websocket,能发一份给我不,zheng.magic@qq.com。谢谢侬
toby159 2013-05-21
  • 打赏
  • 举报
回复
lz、你做出来了嘛?能发给我研究研究嘛? 最近在学websocket、万分感谢啊、379570116@qq.com
lq282514781 2013-05-15
  • 打赏
  • 举报
回复
能发我份从java发送到android客户端消息的例子吗282514781@qq.com跪谢使用websocket
fangzhixun111 2013-04-17
  • 打赏
  • 举报
回复
能发我一份demo吗 fangzhixun@sina.com 跪谢!
Wayne911 2013-03-29
  • 打赏
  • 举报
回复
如果在线人数很多的时候该怎么办?不知有谁做过压力测试?
junes_yu 2012-05-04
  • 打赏
  • 举报
回复
嗯,我已经做出来了,谢谢你..[Quote=引用 1 楼 的回复:]

楼上的帅哥。tomcat自带例子其实很简单的,就是部署相对能有点麻烦。
Java code

package websocket;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.util.Set;
import java.util.concurr……
[/Quote]
很小的叶子 2012-05-03
  • 打赏
  • 举报
回复
楼上的帅哥。tomcat自带例子其实很简单的,就是部署相对能有点麻烦。

package websocket;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.atomic.AtomicInteger;

import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;
import org.apache.catalina.websocket.WsOutbound;

import util.HTMLFilter;

public class ChatWebSocketServlet extends WebSocketServlet {
private static final long serialVersionUID = 1L;

private static final String GUEST_PREFIX = "Guest";

/**
* int操作的一个类,用来具有原子性的增加减少。
*/
private final AtomicInteger connectionIds = new AtomicInteger(0);
/**
* 适合小数量。不可变。线程安全,迭代器遍历速度快的集合 用来存放信息绑定辅助类
*/
private final Set<ChatMessageInbound> connections = new CopyOnWriteArraySet<ChatMessageInbound>();

@Override
protected StreamInbound createWebSocketInbound(String subProtocol) {
return new ChatMessageInbound(connectionIds.incrementAndGet());
}

/**
* 信息绑定辅助类 文件标题
*
* 作者: WangZhenChong
*/
private final class ChatMessageInbound extends MessageInbound {
/**
* 用户名称
*/
private final String nickname;

/**
* 构造方法
*
* @param id
*/
private ChatMessageInbound(int id) {
this.nickname = GUEST_PREFIX + id;
}

/**
* 建立连接的时候
*/
@Override
protected void onOpen(WsOutbound outbound) {
connections.add(this);
String message = String.format("* %s %s", nickname, "has joined.");
broadcast(message);
}

/**
* 管理连接的时候
*/
@Override
protected void onClose(int status) {
connections.remove(this);
String message = String.format("* %s %s", nickname, "has disconnected.");
broadcast(message);
}

/**
* 获得二进制文件信息的时候
*/
@Override
protected void onBinaryMessage(ByteBuffer message) throws IOException {
throw new UnsupportedOperationException("Binary message not supported.");
}

/**
* 获得文本信息的时候
*/
@Override
protected void onTextMessage(CharBuffer message) throws IOException {
String filteredMessage = String.format("%s: %s", nickname, HTMLFilter.filter(message.toString()));
broadcast(filteredMessage);
}

/**
* 向每个在线用户发送信息的方法
*
* @param message
*/
private void broadcast(String message) {
for (ChatMessageInbound connection : connections) {
try {
CharBuffer buffer = CharBuffer.wrap(message);
connection.getWsOutbound().writeTextMessage(buffer);
} catch (IOException ignore) {
}
}
}
}
}

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧