我們有一個Laravel項目,但是,應用程序的某些部分做了很多輪詢,所以我們決定將socket.io引入到應用程序中。 Laravel依賴Apache監聽端口80(我們在前端使用jQuery和Bootstrap)。我們的本地測試主機名是test.localhost.com。節點服務器只是我們創建的服務器,它在端口1000上進行偵聽,並安裝了express和socket.io。Laravel(PHP)與socket.io的混合
在我們的Laravel頁面中,我們有以下內容:<script src="//localhost:1000/socket.io/socket.io.js"></script>
。作爲一個測試,我們有我們的前端下面的代碼:
<script>
$(document).ready(function() {
var socket = io();
$("#msg").keyup(function(event) {
if (event.keyCode === 13) {
socket.emit($("#msg").val());
$("#msg").val('');
}
});
});
</script>
但是,當我嘗試發送一個消息,沒有收到對節點的一面,但在Chrome控制檯我注意到以下幾點:
GET http://test.localhost.com/socket.io?EIO=3&transport=polling&t=1413006253169-84 404(Not Found),在socket.io.js的第2680行發生錯誤。我打開文件並轉到第2680行,並參見xhr.send(this.data);
。這是怎麼回事?我能否混合2個代碼庫?爲什麼它試圖GET在test.localhost.com時導入我使用localhost:1000(不同的主機和不同的端口)?