2015-04-17 44 views
1

我想在JavaScript中使用web套接字创建一个基本的聊天应用程序。我在各种搜索引擎上搜索了很多,但我没有找到任何可以帮助我的东西。如何从Web套接字开始?

我正在使用Wamp服务器,并没有安装NODE.js。

  1. 我可以在Wamp上创建应用程序吗?
  2. 如何为Web套接字编写服务器代码?

注意:我知道客户端代码的Web套接字,但不从哪里开始与服务器代码? 我需要的代码可以是PHP或JavaScript。 以下是我编写的基本客户端代码。

<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript"> 
function WebSocketTest() 
{ 
    if ("WebSocket" in window) 
{ 
    alert("WebSocket is supported by your Browser!"); 
// Let us open a web socket 
var ws = new WebSocket("ws://localhost:9998/echo"); 
ws.onopen = function() 
{ 
    // Web Socket is connected, send data using send() 
    ws.send("Message to send"); 
    alert("Message is sent..."); 
}; 
ws.onmessage = function (evt) 
{ 
    var received_msg = evt.data; 
    alert("Message is received..."); 
}; 
ws.onclose = function() 
{ 
    // websocket is closed. 
    alert("Connection is closed..."); 
}; 
} 
else 
{ 
    // The browser doesn't support WebSocket 
    alert("WebSocket NOT supported by your Browser!"); 
} 
} 
</script> 
</head> 
<body> 
<div id="sse"> 
    <a href="javascript:WebSocketTest()">Run WebSocket</a> 
</div> 
</body> 
</html> 
+1

我会推荐以下免费视频课程:https://www.codeschool.com/courses/real-time-web-with-node-js –

+0

为什么不使用socket.io for nodejs – Inventillect

回答

0

如果您正在寻找到你不需要网络插座一个基本的聊天应用程序,AJAX polling就足够了。

PHP网络套接字的问题是要使用它们,您将需要创建自己的PHP服务器,该服务器将打开一个套接字并侦听它。要做到这一点,您需要能够以CLI的方式运行PHP脚本 - 您需要在服务器上拥有shell访问权限,而大多数共享主机提供商都无法访问它。

0

sailsjs是开始使用WebSockets构建实时Web应用程序的好方法。 Sails使用express和socket.io来启用WebSockets功能。

看到这个SailsCast上手:Building a Sails Application: Ep21 - Integrating socket.io and Sails With Custom Controller Actions Using Real Time Model Events.

+0

即使这是标记'node.js',我刚刚看到你在使用Wamp。除了这是一个可怕的要求,sails.js不会在PHP上运行。 –

+0

你好,我会建议不要使用上面的教程......它是为一个老版本的Sails编写的,并且视频中描述的命令不适用于当前的Sails 0.11 ....可能会将某人设置为令人沮丧的经验:-) 如果我有时间会尝试编写一个套接字帆风帆教程,但总括而言,它是非常简单的,检查这篇文章http://stackoverflow.com/questions/22454809/emitting-socket-io -event-从帆-JS-和处理服务器的IT-上,使用帆-JS –