從資料來源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 感恩頂番國小李清展老師的協助。 有的印表機需要設定列印喜好設定,希望能夠在安...
-
行政人員電腦的電腦名稱與固定ip,通常都要一台一台手動設定。如果可以用C++程式讀取設定檔,自動產生相對應行政人員電腦的電腦名稱與固定ip的bat,那該有多好。那就可以事先規劃好,再讓程式自動產生。 使用方法: 1. 檔案下載 2.下載後解壓縮 ,解壓密碼dem...
沒有留言:
張貼留言