我正在尝试确定如何首次设置Web套接字,因此使用静态变量(例如IP地址而不是getservbyname
)的工作最小示例将帮助我了解流向何处。
我想以正确的方式执行此操作,因此 客户端和服务器都没有框架或插件。我想使用这里描述的PHP的本机Web套接字,尽管没有使用深入的类过度复杂化...
http://www.php.net/manual/en/intro.sockets.php
我已经整理了一些基本的JavaScript ......
window.onload = function(e)
{
if ('WebSocket' in window)
{
var socket = new WebSocket('ws://'+path.split('http://')[1]+'mail/');
socket.onopen = function () {alert('Web Socket: connected.');}
socket.onmessage = function (event) {alert('Web Socket: '+event.data);}
}
}
这是我不太确定的PHP部分。假设我们有一个空白的PHP文件...
如有必要,我如何确定我的服务器的PHP安装是否已经提供此套接字功能?
请求基本上是作为GET
或POST
请求处理的
示例
我是否需要担心端口号?例如if
($_SERVER['SERVER_PORT']=='8080')
如何在初始连接上返回基本消息?
如何在5秒后返回基本信息?
答案 0 :(得分:2)
创建一个简单的例子并不是那么简单,我担心。
首先,如果服务器配置为设置为enable-sockets
然后你需要实现(或找到)至少遵循websockets的Hybi10规范(http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10)的websocket服务器。如果您在标题的代码中找到“幻数”258EAFA5-E914-47DA-95CA-C5AB0DC85B11
,您可以确定它至少遵循Hybi06 ......
最后,您需要访问服务器上的管理控制台才能使用php -q server.php
执行PHP websocket服务器