websocket 快速上手

我知道的框架 (框架我之前很排斥,如今以爲優秀的輪子,咱們不要重造了)php

  1. http://socketo.me/docs
  2. http://websocketd.com/

本文用websocketd 來快速瞭解webscokethtml

  1. 爲啥須要websocket

簡單的說,若是網站須要集體通知在線客戶一條消息(早期論壇的消息),後端服務器(php,java等等)能夠集體推送給客戶。
複雜的應用當數在線聊天室。java

websocketd 支持windows,linux,mac 運行python

  1. 下載websocketd

下載之後linux

MAC 版本下載看到這些文件web

CHANGES LICENSE README.md websocketdwindows

  1. 爲websocket創建服務端
    官方的例子
    新建一個test.sh
    test.sh 內容

#!/bin/bash
 後端

Count from 1 to 10 with a sleep

for ((COUNT = 1; COUNT <= 10; COUNT++)); do
echo $COUNT
sleep 0.5
done
本地啓動瀏覽器

./websocketd --port=8080 bash ./test.sh

Fri, 27 Mar 2020 09:24:40 +0800 | INFO | server | | Serving using application : /bin/bash ./test.sh
Fri, 27 Mar 2020 09:24:40 +0800 | INFO | server | | Starting WebSocket server : ws://localhost:8080/
若是是php代碼那麼啓動就這麼寫便可 (兼容php java python服務器能運做的無數軟件)
./websocketd –port=8080 php ./test.phpbash

一個websocket服務器就創建起來了。

上面的命令會啓動一個 WebSocket 服務器,端口是8080。每當客戶端鏈接這個服務器,就會執行test.sh腳本,並將它的輸出推送給客戶端。

  1. 創建一個網頁來鏈接服務端
    新建一個文件 w.html
    我手寫一端拙劣的JS

<html>
 
<script>
var ws = new WebSocket('ws://localhost:8080/');
 
ws.onmessage = function(event) {
console.log(event.data);
};
</script>
 
</html>
丟在瀏覽器執行,如圖

這意味着,服務器能夠主動發送一個消息給瀏覽器。

這玩意,挺好。挺好。

https://java-er.com/blog/websocket-fast-install/

相關文章
相關標籤/搜索