日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(1) 基于tomcat7和jdk1.7的websocket启动

發布時間:2024/1/23 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (1) 基于tomcat7和jdk1.7的websocket启动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 開發環境 : myeclipse10 + tomcat7 + jdk1.7

2 需要導入jar包

?2.1 tomcat7-websocket.jar

?2.2 websocket-api.jar

3 項目截圖

4? DemeConfig.java

?? 這是websocket配置類, 不需要再任何地方配置,啟動 tomcat后會輸出? -------------websoket start-----------------? ,表示成功

package com.webSocket.config;import java.util.Set;import javax.websocket.Endpoint; import javax.websocket.server.ServerApplicationConfig; import javax.websocket.server.ServerEndpointConfig;public class DemeConfig implements ServerApplicationConfig{//注解的方式 啟動public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scan) {System.out.println("-------------websoket start-----------------");System.out.println("scan.size() = " + scan.size());return scan; //必須要返回scan,否則會造成連接失敗}//接口方式啟動public Set<ServerEndpointConfig> getEndpointConfigs(Set<Class<? extends Endpoint>> arg0) {return null;}}

?

5 EchoSocket.java

? 服務器開啟了一個叫 echo? 的socket

package com.webSocket.client;import java.io.IOException;import javax.websocket.OnClose; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/echo") public class EchoSocket {@OnOpenpublic void open(Session session){ //打開websocketString id = session.getId();System.out.println("websocket is open");System.out.println("user id is " + id);System.out.println("session.isOpen() = " + session.isOpen());}@OnClosepublic void close(Session session){ //關閉websocketSystem.out.println("websocket is close");}@OnMessagepublic void message(Session session,String message){//接收客服端信息System.out.println("客服端信息為 : " + message);//給客服端發送信息try {if (session.isOpen()) {session.getBasicRemote().sendText("服務器說 : " + message);}} catch (IOException e) {try {session.close();} catch (IOException e1) {// Ignoree1.printStackTrace();}}} }


6 index.jsp

<%@ page language="java" import="java.util.*,javax.*" pageEncoding="utf-8"%> <% 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><title>My JSP 'index.jsp' starting page</title></head><body><script type="text/javascript">var ws=null; var target = "ws://"+window.location.host+"/webSocketTest/echo"; // 打開管道 ,ws://localhost:8080/項目名/@ServerEndpoint名字openWebsocket = function(){if ('WebSocket' in window) {ws = new WebSocket(target);} else if ('MozWebSocket' in window) {ws = new MozWebSocket(target);} else {alert('WebSocket is not supported by this browser.');return;}ws.onmessage = function (event) { //創建websocket同時,接收服務器發給客服端的消息if(event!=null){var servermsg = event.data;var textArea = document.getElementById("textAreadID");textArea.value = textArea.value + servermsg;}};}sendMessage = function(){ //發送信息if(ws!=null){var sendMessageInput = document.getElementById("sendMessageInput");var msg = sendMessageInput.value;ws.send(msg);sendMessageInput.value ="";}else{alert("websocket is null , please create a websocket");}}</script><button οnclick="openWebsocket()">open</button><input id="sendMessageInput"></input><button οnclick="sendMessage()">send</button></br><textarea id="textAreadID" rows="5" cols="20"></textarea></body> </html>

?

7 操作方法? ,先點擊 open ,然后在input輸入信息 , 點擊send , 會在 textarea區域更新信息 ,截圖

總結

以上是生活随笔為你收集整理的(1) 基于tomcat7和jdk1.7的websocket启动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。