HTML5体验:基于Jetty8的WebSocket聊天Demo

本文介绍了一个基于Jetty8的WebSocket聊天Demo,包括下载Jetty8、创建Web工程、配置WebSocketServlet和编写Web页面的步骤。示例代码展示了WebSocketServlet的实现和WebSocketChatServlet的工作流程,帮助理解如何在实际应用中使用WebSocket进行实时通信。
摘要由CSDN通过智能技术生成

 

在看WebSocket,相关的一些服务器的支持情况大概是:

Tomcat目前还不支持WebSocket,

Jetty7开始支持WebSocket,

JBoss的Netty需要插件后可以支持WebSocket,

Node.js可以配合node-websocket-server一起使用来运行WebSocket ( https://github.com/miksago/node-websocket-server)

 

 

这里参考Jetty8里面的原有的Demo,修改整理出来一份能够独立运行的WebSocket示例。

需要做的工作大概如下

 

1. 下载Jetty8

版本: jetty-hightide-8.0.0.M2  ,
地址: http://dist.codehaus.org/jetty/jetty-hightide-8.0.0.M2/

 

2. Eclipse创建一个动态的Web工程,把Jetty8的Run

 

3. 编写 WebSocketServlet代码 WebSocketChatServlet.java

 

4. 在web.xml中配置servlet

 

5. 编写Web页面 ws/index.html

 

6. 导出war文件 Jetty8WebSocket.war, 放到jetty的webapps目录下

 

7. 启动jetty8

   jetty-hightide-8.0.0.M2 admin$ java -jar start.jar

 

8. 打开Chrome浏览器,我用的是Chrome11

浏览器中输入http://localhost:8080/Jetty8WebSocket/ws/

可以聊天了。

 

效果是这样纸滴:

 

 

下面直接贴代码

 

File:  WebSocketChatServlet.java

==============================================================

package com.acme;

import java.io.IOException;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;

import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.io.Connection;
import org.eclipse.jetty.util.TypeUtil;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.websocket.WebSocket;
import org.eclipse.jetty.websocket.WebSocket.Outbound;
import org.eclipse.jetty.websocket.WebSocketServlet;

 
public class WebSocketChatServlet extends WebSocketServlet
{
    private final Set<ChatWebSocket> _members = new CopyOnWriteArraySet<ChatWebSocket>();
   
    @Override
    protected void doGet

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值