我知道这个问题有点尴尬,但问题来自三星电视 2010 / 2011 SmartTV(和蓝光播放器;当然 2012 模拟器工作正常)。我将简单的聊天示例从源代码和包移植到 SmartTV 应用程序。它们都回退到 JSONP 轮询,但从 SmartTV 应用程序只能发出/推送到服务器一次。从服务器接收消息可能多次没有任何问题。在三星 D 论坛中寻找答案(当然那里没有)后,我认为解决此问题的最快方法是部署 Express 服务器,获取帖子数据和 JSON.parse,然后在内部发出 Socket.io / Sockjs在服务器本身内部。
谁能给我看一个简单的示例代码,以便我可以从那里开始?非常感谢。
我快速编写代码,但似乎不起作用:
lib/server.js
var express = require('express')
, app = express.createServer()
, io = require('socket.io').listen(app);
app.listen(80);
app.use(express.bodyParser());
app.get('/', function (req, res) {
res.sendfile('/var/www/mpgs_lite_v3/index.html');
});
app.post('/', function(req, res){
console.log(req.body);
io.sockets.emit('my other event', req.body);
res.redirect('back');
});
io.sockets.on('connection', function (socket) {
//socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
索引.html
<html>
<head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
</head>
<body>
<form method="post" action="/">
<input type="hidden" name="_method" value="put" />
<input type="text" name="user[name]" />
<input type="text" name="user[email]" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
“我的其他活动”似乎没有收到任何东西。