2011-12-13 43 views
3

我已經看過如何製作PHP websocket聊天應用程序的各種簡單教程。我覺得這將是查看websocket的一個很好的起點。但我似乎在第一個障礙下降!如何運行websocket服務器?

我試過運行一個數字源代碼的例子,但沒有運氣。

我有一個Windows 7操作系統,我試圖運行使用Wamp的websocket服務器。

我已經試過從Windows命令提示符和wamp附帶的命令提示符運行它。

我應該如何進入這些提示讓websocket服務器啓動並運行?

我很欣賞這個問題很模糊。但是,如果任何人都能瞭解我要去哪裏的錯誤,我會非常感激。

回答

0

我不知道如何使用PHP製作websocket服務器,因爲通常PHP用於網頁(使用HTTP)而不使用websockets(不同的協議)。我發現非常簡單的是帶有socket.io的websockets。這是一個node.js(一個用JavaScript編寫應用程序的平臺)的庫,它還有一個客戶端腳本,它使得幾乎所有的瀏覽器都可以很容易地使用websockets,因爲它還提供諸如Flash和Ajax輪詢等後備功能。

1

我不知道你在哪裏錯了,所以我只是把一些技巧:

  1. 我建議Ratchet作爲一個強大靈活的web套接字庫。
  2. 在您可以從命令提示符運行php腳本之前,您應該add php to your Environment
  3. 在WAMP上安裝並啓用所有必需的擴展。通常使用php_sockets和cURL。

但是之後你會發現在你的Windows上安裝虛擬機會比較容易。

1

要使用websocket,您需要同時支持websocket協議的瀏覽器服務器。您還需要一個像Apache或IIS這樣的傳統Web服務器來爲您的網站的靜態內容提供服務。

phpws既是用PHP編寫的客戶端和服務器庫。

您的瀏覽器還需要websocket支持 - 這意味着您使用的是Firefox或Chrome(IE沒有正確的WS支持,IE10除外)。

一旦你下載了websocket服務器(這和Apache不一樣),你需要運行它並確保它運行的是後臺。這意味着除非您使用Windows本機應用程序(如SuperWebSocket),否則您需要確保不要關閉命令提示符窗口!

服務器運行後,客戶端可以連接到它來推送消息。這是從phpws項目PHP中的客戶端的例子:

<?php 
     require_once("websocket.client.php"); 

     $input = "Hello World!"; 
     $msg = WebSocketMessage::create($input); 

     $client = new WebSocket("ws://127.0.0.1:12345/echo/"); 
     $client->open(); 
     $client->sendMessage($msg); 

     // Wait for an incoming message 
     $msg = $client->readMessage(); 

     $client->close(); 

     echo $msg->getData(); 
?> 
相關問題