php socket链接不上,客户端websocket 无法连接上PHP socket有关问题
客户端websocket 无法连接上PHP socket问题
本帖最后由 d6965921d 于 2014-07-16 10:25:53 编辑
我客户端是用c++写得websocket
客户端我请求的地址是ws://127.0.0.1:100322 (我请求ws://echo.websocket.org这个是可以的说明客户端代码是没问题的 问题就在服务端)
输出
[1405476678:7805] NOTICE: Initial logging level 7
[1405476678:7806] NOTICE: Library version: 1.3 1544a2a
[1405476678:7806] NOTICE: Started with daemon pid 0
[1405476678:7806] NOTICE: static allocation: 4436 + (12 x 256 fds) = 7508 bytes
[1405476678:8329] WARN: problems parsing header
PHP 写的socket
error_reporting(E_ALL);
set_time_limit(0);
//ob_implicit_flush();
$address = '127.0.0.1';
$port = 100322;
//创建端口
if( ($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed :reason:" . socket_strerror(socket_last_error()) . "\n";
}
//绑定
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
//监听
if (socket_listen($sock, 5) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
do {
//得到一个链接
if (($msgsock = socket_accept($sock)) === false) {
echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n";
break;
}
//welcome 发送到客户端
$msg = "server send:welcome
";
socket_write($msgsock, $msg, strlen($msg));
echo 'read client message\n';
$buf = socket_read($msgsock, 8192);
$talkback = "received message:$buf\n";
echo $talkback;
if (false === socket_write($msgsock, $talkback, strlen($talkback))) {
echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n";
} else {
echo 'send success';
}
socket_close($msgsock);
} while(true);
//关闭socket
socket_close($sock);
?>
以下是客户端发到服务端 PHP socket的输出
192:socket apple$ php index.php
read client message\nreceived message:GET / HTTP/1.1
Pragma: no-cache
Cache-Control: no-cache
Host: 127.0.0.1
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: nfvpsG0kAZkYrfZQkptpUA==
Origin: 127.0.0.1
Sec-WebSocket-Protocol: default-protocol
Sec-WebSocket-Extensions: deflate-frame
Sec-WebSocket-Version: 13
send success
------解决方案--------------------
你的php socket服务器没有完成websocket握手,建议你看下websocket 协议相关文档,或者参考下别人怎么写的,比如下面的代码包含了websocket握手及发送websocket消息
https://github.com/walkor/workerman-chat/blob/master/applications/Chat/Event.php
php socket链接不上,客户端websocket 无法连接上PHP socket有关问题相关推荐
- php websocket 连接已断开连接,客户端websocket 无法连接上PHP socket问题
我客户端是用c++写得websocket 客户端我请求的地址是ws://127.0.0.1:100322 (我请求ws://echo.websocket.org这个是可以的说明客户端代码是没问题的 问 ...
- TCP:利用Socket编程技术实现客户端向服务端上传一个图片。
问题: 利用Socket编程技术实现客户端向服务端上传一个图片的程序. 客户端: import java.io.*; import java.net.Socket;public class clien ...
- 275mib为什么不能联网_为什么家里的无线网手机上明明已经显示连接上了,可就是不能用是怎么回事...
手机连接家中WIFI显示已经连接成功,并获取到了IP地址,但是就是不能上网.这是很多人有过类似的经历.那么为什么家里的无线网手机上明明已经显示连接上了,可就是不能用是怎么回事?造成这样的问题原因比较多 ...
- 基于 TCP Socket 的服务器与客户端的简单连接
简单的讲下流程: 1. 服务器会创建一个监听 socket, 用来监听客户端的连接请求,接着配置一下监听 socket 的 IP.port.protocol 2. 绑定配置好的信息 以及监听 sock ...
- 荣耀6手机常显示无法链接服务器怎么处理,华为手机连接上WiFi上不了网怎么办...
华为手机(Mate7,荣耀6 Plus,荣耀6,P7) 连接上WiFi上不了网怎么办每当小编被遇到这样的问题,小编都会深深的醉一把.这样的问题就应该被消灭在火星上,谁让他来地球的.网络就像一张大网,哪 ...
- 网站显示未连接上服务器,网站未连接上服务器是什么意思
网站未连接上服务器就是没有连接到相关的服务器登录不了,或者对方的服务器没有打开.服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵. 本教程操作环境:windows7系统.Dell G3 ...
- 如何测试服务器上数据库服务器能否连接上
一般看数据库服务器是否能连接上,如果有SQL Server直接服务器名账户密码连一下就知道了 但是如果没有要怎么快速的判断呢? 1.桌面右击新建一个文本文件 2.重命名为test.udl,名字随便取 ...
- 能用网络但是个个计算机不能连上,为什么无线网络连接上却不能上网,小编教你电脑连上无线网却不能上网怎么办...
最近用户在使用电脑的时候,遇到了一个奇怪的现象,连接无线以后却不能上网,重启计算机还是一样,用手机连接上却能上网,应该不是网络的问题,难道是电脑坏了,经过多次检查,终于找到了解决的方法,下面,小编给大 ...
- vscode连接虚拟机远程连接不上,xshell能连接上的问题
写在前面 由于这个问题用了很久的时间也没有查到原因,而网上又没有我这个问题的描述.特此记录,希望可以帮助遇到相同问题的你们. 问题描述 虚拟机安装的时centos,网络连接用的NET模式. 用SSH服 ...
最新文章
- 实战mariadb-galera集群架构
- 希尔排序(缩小增量排序)(插入排序的优化版) C++代码实现及算法分析 恋上数据结构笔记
- linux 程序 加密码忘了怎么办,linux忘记了密码怎么办
- 自动化测试——接口自动化——requests用法
- Linux程序文件状态,linux 文件状态标识和IO操作方式
- C# 设定TextBox 只能输入正数/负数/小数 By KEYPRESS 事件
- android sdk环境配置_Mac 配置adb环境的方法
- unity设置一个物体是另一个物体的子物体
- 常用Linux命令--CPU和GPU查看
- 错误: 找不到或无法加载主类 Main
- DX11编程之计算着色过滤器
- SaaS启动阶段增长指南(上)
- Ubuntu20.04LTS 安装配置
- Java SE 易错题
- OLT基本操作及ONU的认证
- 数学建模:微分方程模型—常微分方程数值解算法及 Python 实现
- 数据库还原-bak文件
- linux x虚拟机占用硬盘太大,解决kvm虚拟机qcow2格式磁盘文件比实际空间占用大的问题 | 转 | leon的博客...
- 蓝桥杯 历届试题 高僧斗法(Nim博弈)
- 哈工大 博士肄业 计算机 李鸣鹏,16岁高分考上哈工大,从肄业生到低保户,为数学穷其一生...
热门文章
- .htaccess php设置,.htaccess更改php的配置
- git小乌龟pull报错 You asked to pull from the remote ‘origin‘...
- 【SAM模型超级进化】MobileSAM轻量化的分割一切大模型出现,模型缩小60倍,速度提高40倍,效果不减
- Spark支持的Join类型、Join的3种实现
- 地理坐标系、投影坐标系及对应WKIDW在生成缓冲区时的应用
- 第七十八章 SQL函数 $LENGTH
- 也发个网通客户端Dr.COM的破解版
- (schoolwork)Java多态
- Mybatis的if标签
- 47.逻辑卷管理2,物理卷详解,pvscan,pvcreate,pvremove,pvchange,pvdisplay