环境:Centos6.4,PHP环境:PHP7

服务端代码

<?php
//创建websocket服务器
$host = '0.0.0.0';
$port = ;
$ws = new swoole_websocket_server($host, $port); //
$ws->on('open', function($ws, $request){ //$ws就是我们的服务器,$request就是客户端的信息
var_dump($request);
$ws->push($request->fd,"welcome \n");
}); $ws->on('message', function($ws, $request){
echo 'Message:'. $request->data;
$ws->push($request->fd,'get it message');
});
$ws->on('close', function($ws, $request){
echo 'close';
}); $ws->start();

客户端代码

<!DOCTYPE html>
<html>
<head>
<title>WebSecket</title>
</head>
<body>
<Script>
var wsServer = 'ws://192.168.9.155:9501';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
console.log("链接成功");
}; websocket.onclose = function (evt) {
console.log("关闭链接");
}; websocket.onmessage = function (evt) {
console.log('Retrieved data from server: ' + evt.data);
}; websocket.onerror = function (evt, e) {
console.log('Error occured: ' + evt.data);
};
</Script>
</body>
</html>

文件分别是index4.php、index4.html,。

出现此状态,没有报错,说明开启成功了。

# ps -ajft  //查看进程状态

开始测试

浏览器访问index4.html

closeobject(Swoole\Http\Request)# () {
["fd"]=>
int()
["header"]=>
array() {
["host"]=>
string() "192.168.9.155:9501"
["connection"]=>
string() "Upgrade"
["pragma"]=>
string() "no-cache"
["cache-control"]=>
string() "no-cache"
["upgrade"]=>
string() "websocket"
["origin"]=>
string() "http://myec.com"
["sec-websocket-version"]=>
string() ""
["user-agent"]=>
string() "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4882.400 QQBrowser/9.7.13059.400"
["accept-encoding"]=>
string() "gzip, deflate, sdch"
["accept-language"]=>
string() "zh-CN,zh;q=0.8"
["sec-websocket-key"]=>
string() "/nsMgwOyqsM5xmgdqpEBRA=="
["sec-websocket-extensions"]=>
string() "permessage-deflate; client_max_window_bits"
}
["server"]=>
array() {
["request_method"]=>
string() "GET"
["request_uri"]=>
string() "/"
["path_info"]=>
string() "/"
["request_time"]=>
int()
["request_time_float"]=>
float(1522731778.6278)
["server_port"]=>
int()
["remote_port"]=>
int()
["remote_addr"]=>
string() "192.168.9.1"
["master_time"]=>
int()
["server_protocol"]=>
string() "HTTP/1.1"
["server_software"]=>
string() "swoole-http-server"
}
["request"]=>
NULL
["cookie"]=>
NULL
["get"]=>
NULL
["files"]=>
NULL
["post"]=>
NULL
["tmpfiles"]=>
NULL
}

OK~

Swoole学习(五)Swoole之简单WebSocket服务器的创建的更多相关文章

  1. Swoole学习(四)Swoole之简单WEB服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建WEB服务器 $host = '0.0.0.0'; $port = ; $server = new swoole_http_s ...

  2. Swoole学习(七)Swoole之异步TCP服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建TCP服务器 /** * $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如 ...

  3. Swoole学习(三)Swoole之UDP服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建UCP服务器(UDP服务器相对于TCP服务器通信更可靠些) /** * $host 是swoole需要监听的ip,如果要监听本 ...

  4. Swoole学习(二)Swoole之TCP服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建TCP服务器 /** * $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如 ...

  5. Netty实现简单WebSocket服务器

    本文参考<Netty权威指南>├── WebSocketServerHandler.java├── WebSocketServer.java└── wsclient.html packag ...

  6. Swoole学习(六)Swoole之定时器的创建与清除

    环境:Centos6.4,PHP环境:PHP7,Swoole2.1(在指定的时间后执行函数,需要1.7.7或更高版本) <?php //----------------------------- ...

  7. 04.swoole学习笔记--webSocket服务器

    <?php //创建webSocket服务器 $serv=); //获取请求 //on //open 建立连接 $serv:服务器 $request:客户端信息 $serv->on('op ...

  8. swoole创建websocket服务器

    目录 1 安装准备 1.1 安装swoole前必须保证系统已经安装了下列软件 1.2 下载并解压 1.3 编译安装成功后,修改php.ini 2 构建Swoole基本实例 2.1 tcp服务器实例 2 ...

  9. 01.swoole学习笔记--TCP服务器

    1.安装swoole扩展 2.网络调试助手进行调试 <?php //创建服务器 $host='192.168.10.31'; $port=; //$model='SWOOLE_PROCESS'; ...

随机推荐

  1. selenium的常用方法

    1.常用定位方法 find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_n ...

  2. 【POJ1275】Cashier Employment 差分约束

    [POJ1275]Cashier Employment 题意: 超市经历已经提供一天里每一小时需要出纳员的最少数量————R(0),R(1),...,R(23).R(0)表示从午夜到凌晨1:00所需要 ...

  3. Spring boot:logback文件配置

    resources文件夹下:新建logback-spring.xml文件. 文件内容like: <?xml version="1.0" encoding="UTF- ...

  4. Zabbix监控Windows主机

    一,下载zabbix-agent 下载地址:http://www.zabbix.com/downloads/3.0.0/zabbix_agents_3.0.0.win.zip 已经下载好的文件 zab ...

  5. 谨防in、or 公用性能问题

    今天遇到一个奇葩的问题:在where条件中用了 m in(×××) or m>=10,查询直接超时,我看了一下,数据库中就2万条数据 我将查询改为了union all 结果就不超时了

  6. hbctf---whatiscanary学习

    题目中除了能栈溢出实在找不到其他能泄露信息的地方了.而且也没法修改GOT表,始终绕不过stack_chk_fail函数.感到无从下手.只到官方给WP了,才觉得自己基础太过浅薄了. 如果我们仔细观察崩溃 ...

  7. 3.2 - FTP文件上传下载

    题目:开发一个支持多用户同时在线的FTP程序要求:1.用户加密认证2.允许同时多用户登录3.每个用户有自己的家目录,且只能访问自己的家目录4.对用户进行磁盘配额,每个用户的可用空间不同5.允许用户在f ...

  8. Linux下的物理内存管理2-slab缓存的管理

    2017-03-02 在Linux下的物理内存管理中,对SLAB机制大致做了介绍,对SLAB管理结构对象也做了介绍,但是对于小内存块的分配没有介绍,本节重点介绍下slab对小内存块的管理. 内核中使用 ...

  9. 过程记录:搭建wordpress站点

    过程记录:搭建wordpress站点 前提:现在aws中搭建好LNAMP环境和网络mysql数据库,即为下载的wdcp和aws的rds 1.获取WordPress安装包(中文版) https://cn ...

  10. python学习笔记(十九)发送邮件

    在python开发项目或者做自动化测试时候,在测试完成后需要将测试结果总结后进行上报,那么我们就可以通过发送邮件来完成这项工作. 下面我们来看看python中怎么发送邮件的,python中发送邮件可以 ...