1. 程式人生 > >webSocket.java建立連線和關閉連線

webSocket.java建立連線和關閉連線

/**
     * 建立連線
     * @param session
     */
@OnOpen
    public void start(Session session) {
try {
this.session = session;
this.id = UUID.randomUUID().toString();
logger.info("連線websocket,id=" + this.id);
} catch (Exception ex) {
logger.error("WebSocket.start(Session session)方法發生錯誤:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
其中@OnOpen表示建立連線

/**
* 關閉連線
*/
    @OnClose
    public void end() {
try {
logger.info("關閉WebSocket,id=" + this.getId());
WebSocketPool.removeWebSocket(null, this);
try {
if (this.session != null) {
this.session.close();
}


} catch (IllegalStateException e) {
logger.info("WebSocket前端斷開連線");
} catch (Exception e) {
logger.error("WebSocket關閉連接出錯", e);
}
} catch (Exception ex) {
logger.error("WebSocket.end()方法發生錯誤:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
@OnOpen表示關閉連線
/**
     * 接收資料
     * @param message
     */
    @OnMessage
    public void incoming(String message) {
try {
//
webSocketProcesser.process(message, this);
} catch (Exception ex) {
logger.error("WebSocket.incoming(String message)方法發生錯誤:"
+ ExceptionUtil.getStackMsg(ex));
}
    }
其中 @OnMessage表示的是接收資料資訊。


/**
* 傳送資料
* @param msg
* @throws IOException
*/
public void sendMsg(String msg) throws IOException{
try {
try {
if(this.session.isOpen()){
this.session.getBasicRemote().sendText(msg);
}
// this.session.getBasicRemote().flushBatch();
} catch (IOException e) {
this.session.close();
WebSocketPool.removeWebSocket(null, this);
e.printStackTrace();
}
} catch (Exception ex) {
logger.error("WebSocket.sendMsg(String msg)方法發生錯誤:"
+ ExceptionUtil.getStackMsg(ex));
}
    }

相關推薦

webSocket.java建立連線關閉連線

/**      * 建立連線      * @param session      */@OnOpen     public void start(Session session) {try {this.session = session;this.id = UUID.r

JDBCUtil類-封裝資料庫連線關閉連線

   JDBC類是對獲得資料庫連線和關閉資料庫連線的一個封裝,在需要使用到資料庫的時候,我們需要訪問資料庫,然後獲得資料庫連線,在一個程式或專案中難免會有多處需要使用到資料庫,所以我i們有必要書寫一個

Websocket協議資料幀傳輸關閉連線

為了接收WebSocket資料,端點監聽底層網路連線。傳入資料必須解析為WebSocket幀。當接收到一個數據幀時,端點必須注意由操作碼(幀-opcode)定義的資料的/type/。這個幀的“應用資料”被定義為訊息的/data/。如果幀由一個未分片的訊息組成,這是說已經接收到一個WebSocket訊息,其

TCP建立連線斷開連線過程詳解

最近在看TCP這塊知識的時候對TCP連線三次握手斷開四次斷開不是很瞭解,找了下面一片文章講的很詳細,收藏下! 原文地址:http://blog.sina.com.cn/s/blog_60a4fcef0101e813.html TCP是一個面向連線的服務,面向連線的服務是電話系統服務模式的抽象

TCP連線關閉的過程

轉載的連結處:TCP連線和關閉 建立連線:三次握手 在 TCP/IP 協議中,TCP 協議提供可靠的連線服務,採用三次握手建立一個連線,如圖1所示。 圖1 TCP三次握手建立連線的過程 客戶端 A 傳送 SYN 包(SYN=j)到伺服器 B,並進入SYN_SEND 狀態

(4)JDBCTools(呼叫連線關閉資料庫的方法)

jdbc.properties:我們在當前包底下建立一個File 命名為 url 是我們匯入的mysql-connection的jar包 我們一般是把jar包放到新建的lib下面 檢視url的具體步驟是: 開啟該專案的Referenced Libraries jdbc.propertie

TCP建立連線斷開連線流程

一、基本描述 TCP協議為提供面向連線的服務,需要先建立連線,然後才可以通訊,通訊結束時,需要斷開連線。 二、建立連線流程 建立連線的過程也叫做三次握手,流程如下: 1、首先,一定是由客戶端發起連線請求,服務端來接收連線請求。客戶端發

TCP建立連線拆除連線的過程

1、TCP報文格式2、TCP連線建立時三次握手的過程圖示文字說明第一次握手:建立連線時,客戶端傳送syn包(seq=x)到伺服器,並進入SYN_SEND狀態,等待伺服器確認;第二次握手:伺服器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也傳送一個SYN包(s

TCP/IP協議的三次握手四次揮手(建立連線斷開連線

1、TCP/IP協議概述 TCP/IP協議(TransmissionControl Protocol/Internet Protocol)叫做傳輸控制/網際協議,又叫網路通訊協議,這個協議是Internet國際網際網路絡的基礎。TCP/IP是網路中使用的基本的通訊協議。雖然

(0016)iOS 開發之Mac上Navicat Premium 建立遠端連線本地連線

1.下載安裝 (百度雲盤裡面有安裝檔案和註冊機)   連結: https://pan.baidu.com/s/1kVG1k71 密碼: mr5g 2.破解之後還可以漢化: 把解壓的漢化中文包中的兩

SVN建立資源庫區域網連線配置

本機安裝的是TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi安裝好後會在滑鼠右鍵中出現如圖最後兩項的選項:建立svn資源庫:1.首先是建立一個資源庫資料夾,本例是sevenStar如圖:2.在建立的資料夾sevenStar上右鍵,選擇To

HTTP長連線連線 + Websocket

HTTP協議與TCP/IP協議的關係 HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議主要解決如何在IP層之上可靠的傳遞資料包,使在網路上

MYSQL開啟遠端連線關閉遠端連線

預設是不能用客戶端遠端連線的,阿里雲提供的help.docx裡面做了設定說明,mysql密碼預設存放在/alidata/account.log 首先登入: mysql -u root -h loc

Linux資料庫連線關閉啟動

Linux命令下oracle 連線命令: sqlplus / as sysdba 啟動oracle資料庫命令: startup 關閉oracel資料庫命令: shutdown immediate 檢視監聽狀態: 命令: lsnrctl status 啟動監聽

TCP建立連線斷開連線過程

TCP三次握手 所謂三次握手(Three-Way Handshake)即建立TCP連線,就是指建立一個TCP連線時,需要客戶端和服務端總共傳送3個包以確認連線的建立。在socket程式設計中,這一過程由客戶端執行connect來觸發,整個流程如下圖所示: TCP

SQL 內連線連線區別

資料庫的資料: 資料分級: 100 定義的是鎖,110 定義的是門鎖,111定義的是門鎖的種類例如光交門鎖。 那麼 門鎖的種類就是110~190  9 種,具體細分,鎖的種類就是總共:9*9=81種。夠用了。 這種型別的表,適合做自連線。 左外連結:連線2次。左側的資

基礎知識概念(1):Socket 長連線連線的概念

1.短連線 連線->傳輸資料->關閉連線     HTTP是無狀態的,瀏覽器和伺服器每進行一次HTTP操作,就建立一次連線,但任務結束後就中斷連線。短連線是指SOCKET建立連線後 ,傳送後或接收完資料後,就馬上斷開連線。 2.長連線

什麼是長連線連線(不看後悔,一看必懂)

在日常專案中,大多的時候我們用的是短連線,一個請求過來,一個執行緒處理完該請求,執行緒被執行緒池回收,這個請求就關閉了.雖然這能滿足很大部分的需求,但是也有些問題,比如說:如果客戶端發的請求比較多,比較頻繁,服務端就會忙於建立連線處理請求,由於服務端的執行緒數也有限,併發比較大的話有可能會造成服

Linux學習筆記之1——檔案目錄管理(硬連線連線)(連結檔,相當於快捷方式)

在這節將要學習linux的連線檔,在之前用"ls -l" 檢視檔案屬性的命令時, 其中第二個屬性是連線數。那麼這個連線數是幹什麼的?這就要理解inode。     先說一下檔案是怎麼儲存的。檔案儲存在硬碟上,硬碟的最小儲存單位叫做"扇區"(Sector),每個扇區儲存512位元

TCP 三次握手原理以及半連線連線

問題描述 JAVA的client和server,使用socket通訊。server使用NIO。  間歇性的出現client向server建立連線三次握手已經完成,但server的selector沒有響應到這連線。  出問題的時間點,會同時有很多連接出現這個問題