gpt4 book ai didi

PHP Websockets - 握手但不发送和接收

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:35 26 4
gpt4 key购买 nike

我最近下载了 http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/

用于创建 PHP 网络套接字服务器的 php 类。

我已经通过命令行运行了 startDaemon,当我访问 client.php 页面时,握手被清楚地记录下来:

C:\wamp\bin\php\php5.3.5>php -f C:/wamp/www/socket/server/startDaemon.php
2011-09-09 13:55:42 System: Socket Resource id #7 created.
2011-09-09 13:55:42 System: Socket bound to localhost:8080.
2011-09-09 13:55:42 System: Start listening on Socket.
2011-09-09 13:56:40 WebSocket: Resource id #8 CONNECTED!
2011-09-09 13:56:40 WebSocket: Requesting handshake...
2011-09-09 13:56:40 WebSocket: Handshaking...
2011-09-09 13:56:40 WebSocket: Done handshaking...
2011-09-09 13:58:18 WebSocket: Resource id #8 disconnected!
2011-09-09 13:58:23 WebSocket: Resource id #9 CONNECTED!
2011-09-09 13:58:23 WebSocket: Requesting handshake...
2011-09-09 13:58:23 WebSocket: Handshaking...
2011-09-09 13:58:23 WebSocket: Done handshaking...
2011-09-09 13:59:14 WebSocket: Resource id #9 disconnected!
2011-09-09 13:59:14 WebSocket: Resource id #10 CONNECTED!
2011-09-09 13:59:14 WebSocket: Requesting handshake...
2011-09-09 13:59:14 WebSocket: Handshaking...
2011-09-09 13:59:14 WebSocket: Done handshaking...
2011-09-09 14:00:16 WebSocket: Resource id #11 CONNECTED!
2011-09-09 14:00:16 WebSocket: Requesting handshake...
2011-09-09 14:00:16 WebSocket: Handshaking...
2011-09-09 14:00:16 WebSocket: Done handshaking...
2011-09-09 14:00:16 WebSocket: Resource id #11 disconnected!
2011-09-09 14:00:23 WebSocket: Resource id #12 CONNECTED!
2011-09-09 14:00:23 WebSocket: Requesting handshake...
2011-09-09 14:00:23 WebSocket: Handshaking...
2011-09-09 14:00:23 WebSocket: Done handshaking...
2011-09-09 14:00:23 WebSocket: Resource id #12 disconnected!
2011-09-09 14:00:33 WebSocket: Resource id #13 CONNECTED!
2011-09-09 14:00:33 WebSocket: Requesting handshake...
2011-09-09 14:00:33 WebSocket: Handshaking...
2011-09-09 14:00:33 WebSocket: Done handshaking...
2011-09-09 14:00:33 WebSocket: Resource id #13 disconnected!

(我建立了一些连接来测试)

我的问题是我似乎无法发送或接收信息。在 php 类中,我设置了阶段以在每个点将 1、2、3... 写入日志,您可以再次通过命令窗口清楚地看到。但是当我尝试发送数据时,日志中没有任何输出。

然后我去前端试了一下

if(!("WebSocket" in window)){
$('#chatLog, input, button, #examples').fadeOut("fast");
$('<p>Oh no, you need a browser that supports WebSockets. How about <a href="http://www.google.com/chrome">Google Chrome</a>?</p>').appendTo('#container');
}else{
//The user has WebSockets

connect();

function connect(){
//var socket;
var host = "ws://localhost:8080/socket/server/startDaemon.php";

try{
var socket = new WebSocket(host);
socket.onopen = function(){
alert('open');
message('<p class="event">Socket Status: '+socket.readyState+' (open) </p>');
}
..........
........

哪里没有发出警报....有谁知道这里可能出了什么问题吗?

问候

最佳答案

编辑:似乎实际上有一个有效的实现。请参阅@Steve Lazaridis 的回答。

不久前,websockets 协议(protocol)的规范发生了变化(调整了握手过程),因此在今天的浏览器中,您无法使用 phpwebsockets 中的代码。

无论如何,在 2010 年 12 月,Christopher Blizzard 发表了一篇博客文章,指出 websocket 实现已从 Firefox 4 中删除。从那时起我就没有正确地遵循它,所以我无法告诉你它目前是否在浏览器中比如 Opera 和 Firefox。也许他们以某种方式重新启用了它。

我前段时间实现了一个工作版本,但由于 websockets 通常被修改(可以用缓存的中毒 dns 攻击进行攻击)我停止了实现的工作。所以我不知道它现在是否可以正常工作。您可以阅读我关于删除和握手过程中发生的变化的博文:

http://ra23.net/wop/category/html5/

您还可以在那里获取我的代码并测试它是否有效。

我建议您使用 java 或 node.js websocket 实现,如果它们工作正常的话。我不确定。

关于PHP Websockets - 握手但不发送和接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7363438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com