环境: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. 浏览器加载不上css,样式走丢

    来自:http://www.cnblogs.com/crizygo/p/5466444.html 问题描述:使用eclipse修改样式文件,浏览器的页面一时显示一时不显示,最后直接没有加载最新的css ...

  2. /usr/local/nginx/sbin/nginx -s reload 失败原因pid 进程记录和当前不符

    [root@a ~]# /usr/local/nginx/sbin/nginx -s reload;nginx: [alert] kill(18834, 1) failed (3: No such p ...

  3. Android studio 使用技巧和问题

    最近更新Android studio版本到1.2.1.1后 出现了一些问题,首先一个就是创建一个项目后,布局文件会提示 找不到类. 网上找了下答案,原来是这个版本的bug. 其实解决起来很简单,找到 ...

  4. CentOS下调整home和根分区大小的方法

    解决外挂硬盘的问题. 目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况[root@jb51.net~]# df -h ...

  5. python基础-第十一篇-11.1JavaScript基础

    JavaScript是一门解释型编程语言,主要是增强html页面的动态效果 JavaScript是有三部分组成:ECMAScript.BOM.DOM 单行注释//   多行/*   */(必须是scr ...

  6. Seek the Name, Seek the Fame---poj2752(kmp中的Next数组)

    题目链接:http://poj.org/problem?id=2752 题意就是求出是已知s串的前缀的长度x,并且要求此前缀也是s串的后缀:求出所有的 x : Next[i]的含义是前i个元素的前缀和 ...

  7. 通过virt-manager 利用NFS创建、迁移虚拟机1

    NFS作为一种网络文件系统,近些年随着云计算的发展也变得越来越受欢迎.因为云环境下会部署大量的虚拟机,而在物理机发生故障的时候,云服务商必须要保障虚拟机的安全性,即不能因为物理机的故障就停止虚拟机.这 ...

  8. Linux命令(补充)

    1.查看已启动服务的端口: netstat -tulnp |grep 80 ss -tulnp|grep 80 2.查看全部已启动的端口:netstat -tulnp 3.查看当前目录:pwd 4.关 ...

  9. sql server动态行列转换

    原文链接:https://www.cnblogs.com/gaizai/p/3753296.html sql server动态行列转换 一.本文所涉及的内容(Contents) 本文所涉及的内容(Co ...

  10. django 密文 cookie 加密

    默认cookie是明文 # 加密cookie salt 通过这个字符串把cookie内容加密 obj.set_signed_cookie('username111','aaaa',salt=" ...