websocket java版

2 篇文章 0 订阅
1 篇文章 0 订阅

websocket基本概念,自行百度,直接上demo

  1. java代码
@ServerEndpoint("/websocket")
public class Test {

    @OnMessage
    public void onMessage(String message, Session session) throws IOException,
            InterruptedException {

        System.out.println("Received: " + message);

        session.getBasicRemote().sendText("This is the first server message");

        int sentMessages = 0;
        while (sentMessages < 3) {
            Thread.sleep(5000);
            session.getBasicRemote().sendText(
                    "This is an intermediate server message. Count: "
                            + sentMessages);
            sentMessages++;
        }

        session.getBasicRemote().sendText("This is the last server message");
    }

    @OnOpen
    public void onOpen() {
        System.out.println("Client connected");
    }

    @OnClose
    public void onClose() {
        System.out.println("Connection closed");
    }
}

2.jsp


<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">


<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>


<body>


    <div>
        <input type="submit" value="Start" onclick="start()" />
    </div>
    <div id="messages"></div>
    <script type="text/javascript">
        var webSocket = new WebSocket(
                'ws://localhost/websocket/websocket');


        webSocket.onerror = function(event) {
            onError(event)
        };


        webSocket.onopen = function(event) {
            onOpen(event)
        };


        webSocket.onmessage = function(event) {
            onMessage(event)
        };


        function onMessage(event) {
            document.getElementById('messages').innerHTML += '<br />'
                    + event.data;
        }


        function onOpen(event) {
            document.getElementById('messages').innerHTML = 'Connection established';
        }


        function onError(event) {
            alert(event.data);
        }


        function start() {
            webSocket.send('hello');
            return false;
        }

    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值