Webserver上的PHP Websocket

几天前我从 http://code.google.com/p/phpwebsocket/ </ p>

使用Xampp在我的localhost上运行良好 。 然后,我将它上传到我在Strato上的网站空间,但现在我无法连接到服务器。</ p>

我将套接字连接更改为我的域但它没有工作< /p>

Client.html:

nn

var host =“ws://xxxxxxxx.com:12345 / Websocket / server.php”; \  n </ code> </ pre> 

Server.php:</ p>

  $ master = WebSocket(“xxxxxx”,12345); 
</ code> </ pre>

我已经尝试使用不同的端口(80,443,12345,8080,8000 ....),使用server.php中的IP地址而不是域。</ p >

我还在client.html中使用了绝对路径和相对路径。</ p>

从项目页面 http://code.google.com/p/phpwebsocket/ 有人建议在server.php中使用0或0.0.0.0,但那并没有 在/ client.html中它只显示:</ p>

WebSocket - 状态0
已连接 - 状态3 </ p>
n

我猜这个问题是Strato阻止我使用WebSockets。
它是p 可以在我的网站空间上运行WebSockets吗?</ p>
</ div>

展开原文

原文

A few days ago I setup this WebSocket server from http://code.google.com/p/phpwebsocket/

It works excellent on my localhost by using Xampp. Then, I uploaded it to my webspace on Strato, but now I am not able to connect to the server.

I changed the the sockets connection to my domain but it didn`t work

Client.html:

var host = "ws://xxxxxxxx.com:12345/Websocket/server.php";

Server.php:

$master  = WebSocket("xxxxxx",12345);

I already tried it with different port(80,443,12345,8080,8000....), using the IP address in server.php instead of the domain.

I also used absolute and relative paths in the client.html.

From the projects page http://code.google.com/p/phpwebsocket/ someone suggested to use 0 or 0.0.0.0 in the server.php, but that didn`t work either.

In the client.html it just shows:

WebSocket - status 0 Disconnected - status 3

My guess that the problem is that Strato is blocks me from using WebSockets. Is it possible to run WebSockets on my webspace?

douqian7634
douqian7634 但为什么它在Xampp中起作用呢?我在当前版本的Chrome和Safari中测试过
接近 8 年之前 回复
dongping6974
dongping6974 只是检查-你知道phpwebsocket只支持websocket标准的旧版本。您需要稍微旧版本的Safari或相当旧版本的Chrome才能有希望连接到它
接近 8 年之前 回复
dsbx40787736
dsbx40787736 这个问题确实没有任何有用的信息来帮助您进一步调试。您需要在PHP中打开错误报告,从错误日志中收集有关正在发生的事情的信息,并与您的Web托管服务提供商核实他们没有阻止您正在使用的端口,然后返回该信息并在此处进行更新。没有任何有用的错误信息或任何调试的基本步骤,任何人都无法帮助您调试。
接近 8 年之前 回复
douduan9391
douduan9391 做一些基本的调试。这可能是php脚本。
接近 8 年之前 回复
dppb79372
dppb79372 获取网络分析仪,找出线路上真正发生的事情;找出PHP错误日志的位置,并检查它是否存在可能的问题。添加您在问题中找到的任何内容,我们可能会提供帮助,但您应该检查的人是Strato。
接近 8 年之前 回复
douyan4958
douyan4958 它不应该工作端口http端口80,443无论如何?
接近 8 年之前 回复
doujiu6976
doujiu6976 是的,它没有任何区别
接近 8 年之前 回复
doupike2351
doupike2351 而且您确定客户端计算机也打开了相应的端口?
接近 8 年之前 回复
douqing0713
douqing0713 不,我还没想过。如果我不能让它工作,我需要切换并给node.js尝试
接近 8 年之前 回复
dousongxuan7507
dousongxuan7507 你考虑过使用node.js和socket.io吗?
接近 8 年之前 回复
douke9545
douke9545 在客户端窗口中它只显示我:WebSocket-status0Disconnected-status3
接近 8 年之前 回复
dsfe167834
dsfe167834 错误消息?
接近 8 年之前 回复

2个回答



我的打赌是你的主机阻止了对套接字的传入请求。 您不应该在Web服务中运行像phpwebsocket这样的脚本(它本身就是服务器)。 这让很多人感到困惑,因为PHP通常用于编写脚本网页,而不是用于编码守护进程。</ p>

我这样说是因为你提到在Xampp中运行脚本,并将你的托管服务称为 'webspace'。</ p>

如果是这种情况,则必须升级到虚拟服务器软件包,以便运行自己的服务。</ p>
</ div>

展开原文

原文

My bet is that your host is blocking incoming requests to the socket. Your not supposed to run scripts like phpwebsocket within a web service (it is a server itself). This confuses a lot of people since PHP is typically used for scripting webpages, not for coding daemons.

I say this because you mentioned running the script within Xampp, and referred to your hosting service as 'webspace'.

If this is the case you will have to upgrade to a virtual server package so that you can run your own services.



好的,结束这个。</ p>

我找到了一个使用我的websockets的解决方案 应用程序和我已经解释了为什么它无法在我的共享托管解决方案上运行。</ p>

我联系了Strato,他告诉我他们不允许在共享托管上使用Websocket。 获得类似结果的唯一方法是使用AJAX Long Pooling。</ p>

现在我购买了虚拟服务器,我的websocket应用程序现在运行良好。</ p>

感谢您的支持。</ p>
</ div>

展开原文

原文

Okay, to bring this to an end.

I found a solution to use my websockets app and I´ve got an explanation why it did not work on my shared hosting solution.

I contacted Strato who told me that they don`t allow Websocket on shared hosting. The only way to get a similiar result would be to use AJAX Long Pooling.

Now I purchased to a Virtual Server and my websocket app works great now.

Thanks for your support.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问