從資料來源1 開始實作。
老實說,很多程式碼看不懂,只是造本宣科而已。但還是將之記錄起來,至少是寫給自己看。
分成兩台。分成Server端與Client端。Server端IP:192.168.32.106,Client端IP:192.168.32.182
兩端檔案位置均放置在 /home/webadmin/html/ 下
1.首先是Server端,檔名為 swoole.php
<?php
// 建立 websocket 物件,監聽 192.168.32.106:8080 連接埠
$ws = new swoole_websocket_server("192.168.32.106", 8080);
// 監聽 WebSocket 連接打開事件
$ws->on('open', function ($ws, $request) {
var_dump($request->fd, $request->get, $request->server);
$ws->push($request->fd, "hello, welcome\n");
});
// 監聽 WebSocket 訊息事件
$ws->on('message', function ($ws, $frame) {
echo "Message: {$frame->data}\n";
$ws->push($frame->fd, $frame->data);
});
// 今天 WebSocket 連接關閉事件
$ws->on('close', function ($ws, $fd) {
echo "client-{$fd} is closed\n";
});
$ws->start();
?>
2.程式碼完成後,在command line 打上
$php swoole.php
然後等待 client 端來接
3.接下來是 Client端,檔名為 client_swoole.html
<html>
<head>
<title> client swoole test</title>
<script>
var wsServer = 'ws://192.168.32.106:8080';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
console.log("Success to connect WebSocket Server");
};
websocket.onclose = function (evt) {
console.log("Closed to connect WebSocket Server");
};
websocket.onmessage = function (evt) {
console.log('The message which is recived from the WebSocket Server is the: ' + evt.data);
};
websocket.onerror = function (evt,e) {
console.log('Error: ' + evt.data);
}
</script>
</head>
<body>
</body>
</html>
4.程式碼打完,用瀏覽器開啟。
5.Server端的command line 會出現
6.Client端瀏覽器為chrome,利用開發人員工具,來看一些訊息
7.如何關閉Server端的服務
開新的終端機,下指令
$ps -fC php
然後接著下
$kill 7070
就會出現訊息:
[2019-04-11 22:34:43 #7070.4] INFO Server is shutdown now
資料來源
1.php – swoole – 架設 websocket 簡單範例
標籤
BAT
(38)
shell
(34)
Virtual Machine
(33)
Xubuntu
(29)
acfs
(25)
PHP
(24)
CentOS
(21)
Virtul Box
(20)
編輯器
(17)
資料庫
(15)
lubuntu
(13)
windows
(13)
CPP
(12)
ubuntu
(12)
chrome
(11)
laravel
(10)
Docker
(9)
Python
(9)
5A88
(7)
VMware
(6)
資料結構
(6)
Javascript
(5)
Node
(5)
Proxmox VE
(5)
公告系統
(5)
程式積木
(5)
Android Studio
(4)
ANN
(3)
OB2D2016x64
(3)
Xoops
(3)
clonezilla
(3)
samba
(3)
公文
(3)
其他
(3)
硬體
(3)
API
(2)
Android
(2)
AppInvent2
(2)
Html
(2)
Hyper-V
(2)
Nas
(2)
botnet
(2)
mbot
(2)
swift
(2)
wordpress
(2)
樣板
(2)
防火牆
(2)
AD的應用
(1)
Ansible
(1)
Arduino
(1)
CSS
(1)
GitLab
(1)
HA Proxy
(1)
LegoEV3
(1)
PowerShell
(1)
Scratch
(1)
VM
(1)
XenServer
(1)
kotlin
(1)
linuxmint
(1)
lxc
(1)
訂閱:
張貼留言 (Atom)
在 Windows 10 x64 1909版,使用BAT快速安裝公文系統與人事服務網(自然人憑證)版
相關內容移往 https://skjhcreator.blogspot.com/2021/02/windows-10-x64-1909bat.html
-
後篇: 只要用滑鼠點兩下,開啟五種不同瀏覽器瀏覽特定的網頁 讓Chrome瀏覽器自動開啟網頁 檔名:ChromeStart.bat 內容: @echo off start "C:\Program Files (x86)\Google\Chrome\A...
-
下一篇: 只要會用滑鼠點兩下,快速產生一堆的印表機一鍵完成驅動安裝.BAT 使用說明: 以Brother T910DW為例,如何修改一鍵完成印表機安裝驅動BAT,來配合所屬單位的印表機 20200825 感恩頂番國小李清展老師的協助。 有的印表機需要設定列印喜好設定,希望能夠在安...
-
要利用Code::Blocks來完成APCS考試,又不想背太多程式碼。希望考試時,檢測環境能夠出現字體放大、程式碼自動提示與補完。所以就設定Code::Blocks。 1.字體放大 方法(1).按住Ctrl滾滑鼠滾輪,程式代碼的字體會隨你心意變大變小 方法(2)...
沒有留言:
張貼留言