首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >websocket未连接

问websocket未连接
EN

Stack Overflow用户
提问于 2012-10-31 22:47:13
回答 1查看 2.2K关注 0票数 2

我可以将websocket连接到我本地机器上的服务器。但是当我把文件上传到一个远程的ubuntu服务器时,它不再工作了。

服务器端代码(server.php):

代码语言:javascript
复制
$master = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($master, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($master, "127.0.0.1", 80);
socket_listen($master, 20);

客户端代码:

代码语言:javascript
复制
<script type="text/javascript">
var host = "ws://127.0.0.1:80/server.php";
socket = new WebSocket(host);
</script>

我从chrome canary版本24打开客户端页面,服务器端没有得到任何接受的套接字。

我将主机改为“ws://XX.XX:80/server.php”为服务器的真实IP地址,但不起作用。也把服务器端的socket_bind($master,"127.0.0.1",80)改成了真实的ip,也没什么好运气的。

有谁能帮我吗?

谢谢,

茉莉

EN

回答 1

Stack Overflow用户

发布于 2012-10-31 23:37:00

我的朋友,当你写你的服务器。你需要让它作为一个服务运行,或者只是让它继续运行。对于php服务器,您需要从PHP Cli (php yourfile.php)运行该文件,而不是从浏览器(您可以将超时设置为0,但如果您关闭浏览器,您的服务器将停止工作)。我真的不推荐使用socket服务器而不是PHP。阅读有关使用C++ (QT,Berkeley)或Java服务器的socket服务器的更多信息。

当我们谈论PHP时,它不同于编程一个“普通”的socket服务器(有很多HTML5库可以帮助你编程一个HTML5 Websocket服务器)

https://github.com/Flynsarmy/PHPWebSocket-Chat

在该链接中,您可以找到聊天的示例。有一个名为class.PHPWebSocket.php的文件,将其包含在server.php中,并使用该库创建HTML5 Websocket服务器。查看示例,了解它的工作原理以及如何使用class.PHPWebSocket.php (查看示例中的server.php文件)。

完成后运行服务器。

然后执行以下操作:

代码语言:javascript
复制
// ...
var host = "ws://IP.OF.THE.SERVER:port";
socket = new WebSocket(host);
// ...

阅读有关套接字服务器、HTML5 Websockets和class.PHPWebSocket.php实用程序的更多信息。祝你好运,我的朋友。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13160601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档