workerman 測試實例

簡單的開發實例

實例1、使用HTTP協議對外提供Web服務

建立http_test.php文件 php

<?php use Workerman\Worker; 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();

運行 html

php http_test.php start

測試 web

假設服務端ip爲127.0.0.1 chrome

在瀏覽器中訪問url http://127.0.0.1:2345 瀏覽器

實例2、使用WebSocket協議對外提供服務

建立ws_test.php文件 websocket

<?php use Workerman\Worker; 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();

運行 socket

php ws_test.php start

測試 tcp

打開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);
};

實例3、直接使用TCP傳輸數據

建立tcp_test.php ui

<?php use Workerman\Worker; 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 2347
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
tom
hello tom
相關文章
相關標籤/搜索