WebSocket如何做push

迷雾骑士 2015-09-06 05:33:25
各位大神,有知道如何使用WebSocket做推送的吗?能不能做一个简单,可以测试通的demo,并附加一定的说明,谢谢!
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoeg 2015-09-18
  • 打赏
  • 举报
回复

import javax.websocket.ClientEndpoint;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;

@ClientEndpoint
public class Client{
  @OnOpen
  public void onOpen(Session session){
  }

  @OnClose
  public void onClose(Session session){
  }

  @OnMessage
  public void onMessage(Session session,String message){
  }

  @OnError
  public void onError(Session session,Throwable t){
  }
}

import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

import com.pactera.caf.rtms.Courier;
import com.pactera.caf.rtms.RTMessage;

@ServerEndpoint("/rtms")
public class Server{
  @OnOpen
  public void onOpen(Session session){
  }

  @OnClose
  public void onClose(Session session){
  }

  @OnMessage
  public void onMessage(Session session,String message){
}

  @OnError
  public void onError(Session session,Throwable t){
  }
}
弄个Tomcat8,一定要8+,创建Dynamic Web Project。一定要使用Servlet3.1,然后工程里放Server.java即可,服务器就算部署完成了。客户端可以用HTML5的浏览器访问,也可以用Client.java适配。java的连接操作如下:

import javax.websocket.ContainerProvider;
import javax.websocket.DeploymentException;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
...
WebSocketContainer container=ContainerProvider.getWebSocketContainer();
    try{
      URI uri=URI.create("ws://localhost:8080/rtms");
      Client client=new Client();
      Session session=container.connectToServer(client,uri);
    }catch(DeploymentException e){
      e.printStackTrace();
    }catch(IOException e){
      e.printStackTrace();
    }
迷雾骑士 2015-09-11
  • 打赏
  • 举报
回复
引用 1 楼 zoeg 的回复:
去看看JSR356现在用手机敲不了代码 回头有时间贴
能做个简单的demo吗,新手,不太会
zoeg 2015-09-06
  • 打赏
  • 举报
回复
去看看JSR356现在用手机敲不了代码 回头有时间贴

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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