2015-04-17 18 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 –