我使用可在nodejs.org網站上下載的.msi包在我的Windows服務器上安裝Node,並且運行良好。然後我跑了npm install socket.io
,那也很好。它將socket.io安裝到C:\node_modules\socket.io
。我將在socket.io網站上找到的示例服務器代碼添加到名爲app.js
的新文件中。我做的唯一更改是端口號爲1337.然後,我使用app.js啓動Node,如下所示:node app.js
進入命令行,並獲得info: socket.io started
消息。無法獲得基本的socket.io示例在客戶端上工作
在客戶端 - 我的OSX筆記本電腦上,我正在開發我的web應用程序 - 我不確定如何正確獲取socket.io.js
文件及其所有依賴項,以便將其包含在我的HTML頁面的<script>
標記中。從socket.io Wiki上的How do I serve the client
FAQ頁面:
客戶端由Node.JS服務器自動提供。在你的HTML標記的,包括:
<script src="http://<uri:port>/socket.io/socket.io.js"></script>
所以,我說這我的index.html頁面:
<script src="http://my.windows.server.domain.com:1337/socket.io/socket.io.js"></script>
當我上傳我的index.html文件到我的網絡服務器,並指向我的瀏覽器,我檢查控制檯,並找到:
XMLHttpRequest cannot load http://localhost/socket.io/1/?t=1330983853883. Origin http://my.web.server.domain.com is not allowed by Access-Control-Allow-Origin.`
有沒有人遇到此消息與socket.io?關於如何讓客戶端包含它需要的代碼的任何提示,我可以開始使用socket.io的精彩內容了?
不,沒有觸及默認的socket.io服務器設置。但是,從socket.io網站上的index.html示例代碼,它有這樣一行:'var socket = io.connect('localhost');',所以我意識到我的socket.io服務器是不一樣的作爲我的網絡服務器,例如假設。我把'io.connect('localhost');'改成'io.connect('http://my.windows.server.domain.com:1337');'現在它正在工作。 – ariestav 2012-03-05 22:42:41
哦,我假設你在'io.connect()'中輸入了正確的域名。 :)我很高興它現在適合你。祝NodeJS和socket.io好運! – freakish 2012-03-05 22:46:35