【发布时间】:2014-08-02 22:08:53
【问题描述】:
我已经搜索了一段时间来解决这个问题,但没有找到太多。
我的目标是从 udp 客户端接收消息,服务器接收并转发到 Web 客户端,该客户端在每次收到消息时播放音频剪辑。但是,由于某种原因,音频不会播放。如果我直接从我的目录打开页面,则可以播放音频,但如果我尝试通过 localhost 访问它,则无法加载。有谁知道解决方案?
这里是客户端的javascript。
var mySound = new Audio('/public/audio/Bloom.mp3');
mySound.load();
var socket = io.connect('http://localhost');
socket.on('message', function(data){
console.log(data);
$('#content').text(data);
mySound.play();
//document.getElementById('audiotag1').play();
});
此页面由 server.js 提供,这是一个使用 socket.io 和 express 的 node.js 文件。我没有收到来自我的 console.log 的任何错误。 这是server.js
var app = require('express')()
, server = require('http').Server(app)
, io =require('socket.io')(server)
, dgram = require('dgram');
var httpPort = 1234;
var udpPort = 5000;
server.listen(httpPort);
app.use(server.express.static( __dirname + '/public'));
app.get('/', function(request, response){
var ipAddress = request.socket.remoteAddress;
console.log("New express connection from: " + ipAddress);
response.sendfile(__dirname + '/public/index.html');
});
var udpSocket = dgram.createSocket('udp4', function(msgBuffer){
var jsonMessage = JSON.parse(msgBuffer);
io.sockets.emit('message', JSON.stringify(jsonMessage));
});
udpSocket.bind(udpPort, '127.0.0.1');
您可以转到此链接查看 chrome 的错误。 http://postimg.org/image/xkv7a2kwb/
有人对如何解决这个问题有任何想法吗?
【问题讨论】:
-
你能澄清一下“通过我的本地网络”吗?你是在同一台机器上还是另一台机器上?
标签: javascript node.js sockets audio