2016-05-15 96 views
0

所以我用socket IO,使Node.js服務器和laravel於實時聊天Redis的隊列中有一個腳本Socket.io在laravel 5聊天

我有一切工作和Redis的隊列接受輸入,我可以看到它,當我使用 'redis的-CLI監視器',然而,消息的arent被輸出到插座視圖

的socket.blade.php

@extends('layouts.admin') 

@section('content') 
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script> 
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
<script src="https://cdn.socket.io/socket.io-1.3.4.js"></script> 

<div class="container"> 
    <div class="row"> 
     <div class="col-lg10 col-lg-offset-2" > 
      <div id="messages" ></div> 
     </div> 
    </div> 
</div> 
<script> 
    var socket = io.connect('http://localhost:8890'); 
    socket.on('message', function (data) { 
     $("#messages").append("<p>"+data+"</p>"); 
    }); 
</script> 


@endsection 

socketController.php

<?php 

namespace SocialNet\Http\Controllers; 
use SocialNet\Http\Requests; 
use SocialNet\Http\Controllers\Controller; 
use Request; 
use LRedis; 

class SocketController extends Controller { 
    public function __construct() 
    { 
     $this->middleware('auth'); 
    } 
    public function index() 
    { 
     return view('socket'); 
    } 
    public function writemessage() 
    { 
     return view('writemessage'); 
    } 
    public function sendMessage(){ 
     $redis = LRedis::connection(); 
     $redis->publish('message', Request::input('message')); 
     return redirect('writemessage'); 
    } 
} 

我在這裏錯過了什麼?

任何幫助表示讚賞

回答

1

我在瀏覽器控制檯檢查,發現這是一個連接被拒絕的錯誤。然後我檢查了到socket.io的客戶端連接,並將連接更改爲運行節點服務器的虛擬機的IP,從http://localhost開始,它完美運行!