欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java?WebSocket?服務(wù)端實現(xiàn)代碼

 更新時間:2022年02月16日 16:03:34   作者:m17054598469  
WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信——允許服務(wù)器主動發(fā)送信息給客戶端,這篇文章主要介紹了java?WebSocket?服務(wù)端代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.什么是WebSocket

  WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實現(xiàn)了瀏覽器與服務(wù)器全雙工(full-duplex)通信——允許服務(wù)器主動發(fā)送信息給客戶端。

2.實現(xiàn)原理

  在實現(xiàn)websocket連線過程中,需要通過瀏覽器發(fā)出websocket連線請求,然后服務(wù)器發(fā)出回應(yīng),這個過程通常稱為“握手” 。在 WebSocket API,瀏覽器和服務(wù)器只需要做一個握手的動作,然后,瀏覽器和服務(wù)器之間就形成了一條快速通道。兩者之間就直接可以數(shù)據(jù)互相傳送。 

                     

3.優(yōu)點

  在以前的消息推送機制中,用的都是 Ajax 輪詢(polling),在特定的時間間隔由瀏覽器自動發(fā)出請求,將服務(wù)器的消息主動的拉回來,這種方式是非常消耗資源的,因為它本質(zhì)還是http請求,而且顯得非常笨拙。而WebSocket 在瀏覽器和服務(wù)器完成一個握手的動作,在建立連接之后,服務(wù)器可以主動傳送數(shù)據(jù)給客戶端,客戶端也可以隨時向服務(wù)器發(fā)送數(shù)據(jù)。

具體代碼如下所示:

package org.fh.plugins.ChatServer;

import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import org.java_websocket.WebSocket;
import org.java_websocket.framing.Framedata;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
/**
 * 說明:websocket服務(wù)端
 * 作者:FH Admin
 * from:fhadmin.cn
 */
public class ChatServer extends WebSocketServer{
    public BulletChatServer(int port) throws UnknownHostException {
        super(new InetSocketAddress(port));
    }
    public BulletChatServer(InetSocketAddress address) {
        super(address);
    /**
     * 客戶端發(fā)送消息到服務(wù)器時觸發(fā)事件
     */
    @Override
    public void onMessage(WebSocket conn, String message){
        message = message.toString();
        if(null != message && message.startsWith("[video313596790]")){
            this.userjoin(message.replaceFirst("\\[video313596790\\]", ""),conn);
        }else{
            BulletChatServerPlool.sendMessage(message.toString());//向所有在線用戶發(fā)送消息
        }
    public void onFragment( WebSocket conn, Framedata fragment ) {
    
     * 用戶加入處理
     * @param user
    public void userjoin(String user, WebSocket conn){
        BulletChatServerPlool.addUser(user,conn);                            //向連接池添加當(dāng)前的連接對象
     * 用戶下線處理
    public void userLeave(WebSocket conn){
        BulletChatServerPlool.removeUser(conn);                                 //在連接池中移除連接
     * 觸發(fā)連接事件
    public void onOpen( WebSocket conn, ClientHandshake handshake ) {}
     * 觸發(fā)關(guān)閉事件
    public void onClose( WebSocket conn, int code, String reason, boolean remote ) {
        userLeave(conn);
     * 觸發(fā)異常事件
    public void onError( WebSocket conn, Exception ex ) {
        if( conn != null ) {}
    public void onStart() {}
}

------------------------------------------------------------------自定義表單
28. 定義模版:拖拽左側(cè)表單元素到右側(cè)區(qū)域,編輯表單元素,保存表單模版
29. 表單模版:編輯維護表單模版,復(fù)制表單模版,修改模版類型,預(yù)覽表單模版
30. 我的表單:選擇表單模版,編輯表單規(guī)則,是否上傳圖片、附件、開啟富文本、掛靠流程開關(guān)等
31. 表單數(shù)據(jù):從我的表單進去可增刪改查表單數(shù)據(jù),修改表單規(guī)則
32. 掛靠記錄:記錄表單數(shù)據(jù)和流程實例ID關(guān)聯(lián)記錄,可刪除

到此這篇關(guān)于java WebSocket 服務(wù)端代碼的文章就介紹到這了,更多相關(guān)java WebSocket 服務(wù)端內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java日常練習(xí)題,每天進步一點點(53)

    Java日常練習(xí)題,每天進步一點點(53)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • Java實現(xiàn)獲取前、后N天日期的函數(shù)分享

    Java實現(xiàn)獲取前、后N天日期的函數(shù)分享

    本文給大家分享的是使用java實現(xiàn)的獲取當(dāng)前日期前后N天的函數(shù),非常的簡單實用,有需要的小伙伴可以參考下。
    2015-03-03
  • ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼

    這篇文章主要介紹了ActiveMQ結(jié)合Spring收發(fā)消息的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實例

    springboot讀取yml文件中的list列表、數(shù)組、map集合和對象方法實例

    在平時的yml配置文件中,我們經(jīng)常使用到配置基本數(shù)據(jù)類型的字符串,下面這篇文章主要給大家介紹了關(guān)于springboot讀取yml文件中的list列表、數(shù)組、map集合和對象的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • 淺談Java中的參數(shù)傳遞問題

    淺談Java中的參數(shù)傳遞問題

    這篇文章主要介紹了Java中的參數(shù)傳遞問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • java stringbuffer的用法示例

    java stringbuffer的用法示例

    這篇文章主要介紹了java stringbuffer的用法示例,字符串緩沖區(qū),是一個容器(當(dāng)返回到的是String時而且長度不確定,數(shù)據(jù)類型不確定時就可以用StringBuffer)其實底層還是數(shù)組,只是被封裝了,對外提供了方法,初始容量為16個字符
    2014-01-01
  • 詳細聊聊Spring MVC重定向與轉(zhuǎn)發(fā)

    詳細聊聊Spring MVC重定向與轉(zhuǎn)發(fā)

    大家應(yīng)該都知道請求重定向和請求轉(zhuǎn)發(fā)都是web開發(fā)中資源跳轉(zhuǎn)的方式,這篇文章主要給大家介紹了關(guān)于Spring MVC重定向與轉(zhuǎn)發(fā)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • Java遞歸查找層級文件夾下特定內(nèi)容的文件的方法

    Java遞歸查找層級文件夾下特定內(nèi)容的文件的方法

    這篇文章主要介紹了Java遞歸查找層級文件夾下特定內(nèi)容的文件,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Java中的字符串常量池詳細介紹

    Java中的字符串常量池詳細介紹

    這篇文章主要介紹了Java中的字符串常量池詳細介紹,JVM為了減少字符串對象的重復(fù)創(chuàng)建,其維護了一個特殊的內(nèi)存,這段內(nèi)存被成為字符串常量池或者字符串字面量池,需要的朋友可以參考下
    2015-01-01
  • 如何通過Java實現(xiàn)加密、解密Word文檔

    如何通過Java實現(xiàn)加密、解密Word文檔

    這篇文章主要介紹了如何通過Java實現(xiàn)加密、解密Word文檔,對一些重要文檔,常需要對文件進行加密,查看文件時,需要正確輸入密碼才能打開文件。下面介紹了一種比較簡單的方法給Word文件加密以及如何給已加密的Word文件解除密碼保護,需要的朋友可以參考下
    2019-07-07

最新評論