2017-11-17 10 views
0

소켓 i.o에서 제공하는 http에 "howler"를 포함하려고합니다. 고객에게. 따라서 이벤트가 트리거되어 클라이언트에 배포되면 사운드 알림이 수신됩니다.외부 javascripts clientide를 socket.io에 포함시키는 방법은 무엇입니까?

내가 https://socket.io/get-started/chat/에서 시작 페이지 (채팅)을 받고 소켓 IOS의 기본 예제와 노력이

<!doctype html> 
<html> 
    <head> 
    <title>Socket.IO chat with sound at load</title> 
    </head> 

<script src="/socket.io/socket.io.js"></script> 
<script src="https://code.jquery.com/jquery-1.11.1.js"></script> 
<script> 

    $(function() { 

    var socket = io(); 

    $('form').submit(function(){ 
     socket.emit('chat message', $('#m').val()); 
     $('#m').val(''); 
     return false; 
    }); 
    socket.on('chat message', function(msg){ 
     $('#messages').append($('<li>').text(msg)); 
    }); 

    }); 

</script> 
    <body> 


    <ul id="messages"></ul> 
    <form action=""> 
     <input id="m" autocomplete="off" /><button>Send</button> 
    </form> 


    <script src="./howler.js"></script> 

    <script> 

    var sound = new Howl({ 
     src: ['sound.mp3'] 
    }); 

    sound.play(); 

    </script> 

    </body> 

</html> 

같은 기본 index.html을에 기적을 포함하려고 노력하지만 난 404 찾을 수 없음 오류 localhost : /howler.js

의 의미입니다. 난 단지 소켓 IO를 통해 하나 개의 파일을 제공하는 것을 위해 :

var app = require('express')(); 
var http = require('http').Server(app); 
var howler = require("howler"); 
var io = require('socket.io')(http); 


app.get('/', function(req, res){ 
    res.sendFile(__dirname + '/index.html'); 
    console.log(__dirname); 
}); 

io.on('connection', function(socket){ 
    socket.on('chat message', function(msg){ 
    io.emit('chat message', msg); 
    }); 
}); 


http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

처음 수정 /howler.js를 통해 클라이언트를 제공하는 것입니다>하지만 그것을 위해 나는 또 다른 HTTP 서버를 실행해야합니다.

소켓 io 서버를 통해 외부 스크립트를 포함 할 수 있습니까?

답변

2
var app = require('express')(); 
var http = require('http').Server(app); 
var howler = require("howler"); 
var io = require('socket.io')(http); 

app.get('/howler.js', function(req, res){ 
    res.sendFile(__dirname + '/howler.js'); 
}); 

app.get('/', function(req, res){ 
    res.sendFile(__dirname + '/index.html'); 
    console.log(__dirname); 
}); 

io.on('connection', function(socket){ 
    socket.on('chat message', function(msg){ 
    io.emit('chat message', msg); 
    }); 
}); 


http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 
+0

감사합니다! 나는 문서에서 그것을 얻지 못했습니다! <3 – gauguerilla