簡單的開發實例
實例一、使用HTTP協議對外提供Web服務
創建http_test.php文件
<?php use WorkermanWorker; require_once './Workerman/Autoloader.php'; // 創建一個Worker監聽2345端口,使用http協議通訊 $http_worker = new Worker("http://0.0.0.0:2345"); // 啟動4個進程對外提供服務 $http_worker->count = 4; // 接收到瀏覽器發送的數據時回復hello world給瀏覽器 $http_worker->onMessage = function($connection, $data) { // 向瀏覽器發送hello world $connection->send('hello world'); } ; // 運行worker Worker::runAll();
運行
php http_test.php start
測試
假設服務端ip為127.0.0.1
在瀏覽器中訪問url http://127.0.0.1:2345
實例二、使用WebSocket協議對外提供服務
創建ws_test.php文件
<?php use WorkermanWorker; require_once './Workerman/Autoloader.php'; // 創建一個Worker監聽2346端口,使用websocket協議通訊 $ws_worker = new Worker("websocket://0.0.0.0:2346"); // 啟動4個進程對外提供服務 $ws_worker->count = 4; // 當收到客戶端發來的數據后返回hello $data給客戶端 $ws_worker->onMessage = function($connection, $data) { // 向客戶端發送hello $data $connection->send('hello ' . $data); } ; // 運行worker Worker::runAll();
運行
php ws_test.php start
測試
打開chrome瀏覽器,按F12打開調試控制臺,在Console一欄輸入(或者把下面代碼放入到html頁面用js運行)
// 假設服務端ip為127.0.0.1 ws = new WebSocket("ws://127.0.0.1:2346"); ws.onopen = function() { alert("連接成功"); ws.send('tom'); alert("給服務端發送一個字符串:tom"); }; ws.onmessage = function(e) { alert("收到服務端的消息:" + e.data); };
實例三、直接使用TCP傳輸數據
創建tcp_test.php
<?php use WorkermanWorker; require_once './Workerman/Autoloader.php'; // 創建一個Worker監聽2347端口,不使用任何應用層協議 $tcp_worker = new Worker("tcp://0.0.0.0:2347"); // 啟動4個進程對外提供服務 $tcp_worker->count = 4; // 當客戶端發來數據時 $tcp_worker->onMessage = function($connection, $data) { // 向客戶端發送hello $data $connection->send('hello ' . $data); } ; // 運行worker Worker::runAll();
運行
php tcp_test.php start
測試
telnet 127.0.0.1 2347Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. tom hello tom
更多workerman知識請關注workerman使用教程欄目。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com