您的位置:首页 > 其它

一步一步教你如何使用WebSocket实现群聊

2017-05-16 09:42 295 查看
先从WebSocket的实现开始。

(一)首先创建一个Web项目,在lib中导入WebSocket的jar包。(注意jar是从Tomcat7.0的lib里面拷过来,6.0之前还没有这个)

(二)配置WebSocket。实现API中ServerApplicationConfig接口

   接口里面有两个方法  

   getAnnotatedEndpointClasses(Set<Class<?>> scan);//使用注解方式启动

           getEndpointConfigs(Set<Class<? extends Endpoint>> scan);//使用接口方式启动

   这里我们使用的3.0的标准,所以无web.xml。所以我们使用注解的方式启动(后面会将如何配置)。这个方法的作用。类似于web里面的Interceptor,起到过滤的作用。

 (三)创建一个任意的类,不需要继承或实现任何的类。因为我们采用的注解的方式去写WebSocket。

    1.@ServerEndpoint("/chatSocket")给类添加上这个注解。Tomcat在启动时会自动识别这个类是WebSocket类。括号里面填访问的路由地址。

    2.WebSocket也和Servlet类似,它的生命周期有
@onOpen (启动),@onMessage (发送消息),@onClose (关闭)。首先创建一个方法,然后给这个方法添加@onOpen 注解。这个方法就会在与客户端启动通信通道时进行交互。每次交互都是一次会话所以需要给方法传入Session对象,这个会话可以拿到从客户端传过来的数据。例子:

 
          @OnOpen
    public void open(Session session){
//一个session代表一个回话
System.out.println("会话id:"+session.getId());

 
      session.getBasicRemote().sendText("服务器:你好,too");//服务端向客户端传送数据
    }

其余的生命周期也类似。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  websocket