创建TCP服务器
$host = "0.0.0.0";
$port = 2100
$server = new swoole_server($host,$port)
$server->on("connect",function($ser,$fd){
})
$server->on("receive",function($ser,$fd,$from_id,$data){
})
$server->on("close",function($ser,$fd){
})
$server->start();
UDP服务器
$server = new swoole_server($host,$port,SWOOLE_PROCESS,SWOOLE_SOCK_UDP);
$server->on('Packet',function($ser,$data,$clienInfo){
$ser->sendTo(clienInfo["address"],$clienInfo["port"],"server is receive");
var_dump($clienInfo);
})
$server->start()
$clienInfo:
array(4) {
["server_socket"]=>
int(3)
["server_port"]=>
int(9502)
["address"]=>
string(13) "112.11.128.69"
["port"]=>
int(64622)
}
Web服务器
<?php
$http = new swoole_http_server("0.0.0.0",9501);
$http->on('request',function($request,$response){
var_dump($request);
$response->header("Content-Type","text/html;chartset=utf-8");
$response->end("<h1>Hello World</h1>");
});
$http->start();
object(Swoole\Http\Request)#7 (9) {
["fd"]=>
int(1)
["header"]=>
array(8) {
["host"]=>
string(20) "118.126.104.***:9501"
["connection"]=>
string(10) "keep-alive"
["user-agent"]=>
string(108) "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3472.3 Safari/537.36"
["dnt"]=>
string(1) "1"
["accept"]=>
string(39) "image/webp,image/apng,image/*,*/*;q=0.8"
["referer"]=>
string(28) "http://118.126.104.***:9501/"
["accept-encoding"]=>
string(13) "gzip, deflate"
["accept-language"]=>
string(42) "zh-CN,zh;q=0.9,en;q=0.8,de;q=0.7,und;q=0.6"
}
["server"]=>
array(11) {
["request_method"]=>
string(3) "GET"
["request_uri"]=>
string(12) "/favicon.ico"
["path_info"]=>
string(12) "/favicon.ico"
["request_time"]=>
int(1532221596)
["request_time_float"]=>
float(1532221597.1269)
["server_port"]=>
int(9501)
["remote_port"]=>
int(26711)
["remote_addr"]=>
string(13) "112.11.128.69"
["master_time"]=>
int(1532221596)
["server_protocol"]=>
string(8) "HTTP/1.1"
["server_software"]=>
string(18) "swoole-http-server"
}
["request"]=>
NULL
["cookie"]=>
NULL
["get"]=>
NULL
["files"]=>
NULL
["post"]=>
NULL
["tmpfiles"]=>
NULL
}
WebSocket服务器
php
<?php
$ws = new swoole_websocket_server("0.0.0.0",9502);
$ws->on("open",function($ws,$request){
var_dump($request);
$ws->push($request->fd,"Hello welcome to open me");
});
$ws->on("message",function($ws,$frame){
var_dump($frame);
echo "Message:{$frame->data}\n";
$ws->push($frame->fd,"get user message");
});
$ws->on('close',function($ws,$fd){
echo "cliend-{$fd} is close";
});
$ws->start();
js
<script>
var wsServer = 'ws:/118.126.104.161:9502';
var websocket = new WebSocket(wsServer)
websocket.onopen = function (evt) {
console.log("connect to server");
}
websocket.onclose=function (evt) {
console.log("disconnected");
}
websocket.onmessage = function (evt) {
console.log("get message :"+evt.data);
}
websocket.onerror = function (evt,e) {
console.log("error "+evt.data);
}
</script>
网友评论