android浏览器和socket io

我无法让socket io在Android浏览器的连接上发送响应。 我记录了参数,它们出现在服务器端,看起来客户端没有正确连接。 我禁用了jsonp,但是我听说android会回退到xhr。

socket.on('connect',function (data) {
            socket.emit('setNickAndRoom', {nick: nick}, function(response){
//response. nothing :(.
});
});

client.on("setNickAndRoom", function(nick, fn,_){
//etc etc

fn({msg :nick});
});

这适用于每个浏览器(甚至移动Safari,移动FF,移动Chrome测试版)。 我必须刷新Android浏览器4-5次才能最终连接。 顺便说一句,即时通讯使用流线型js(_)

更新这似乎只发生在wifi上


目前有限的选择:

http://code.google.com/p/weberknecht/

https://github.com/TooTallNate/Java-WebSocket

https://github.com/Gottox/socket.io-java-client

听起来就像WebSockets一样。 Socket.IO的特定有线协议似乎尚未在Java中实现,因此您可能必须自己处理。


在socket io网站之后,似乎你没有正确使用它。

尝试更改socket.on('connect',function (data) {

socket.on('connection',function (data) {


下面这个简单的例子适用于我的Android浏览器。 让我们知道是否有任何特定的需要,这不在下面 - 重要:将IP编号和端口更改为适合您的环境的任何内容:

var express = require('express'),
    socketio = require('socket.io'),
    app = express.createServer(),
    io = socketio.listen(app);

var index = "<!doctype html>
<html>
  <head>
    <script src=/socket.io/socket.io.js></script>
    <script>
        var socket = io.connect('http://10.0.1.29:3000');
        function send() {
            socket.emit('foo', 'Ben', function(data) {
                alert(data);
            });
        }
    </script>
  </head>
  <body>
  <button onclick='send();'>Send</button>
</html>";

app.get('/', function(req, res) {
    res.send(index);
});

io.sockets.on('connection', function(socket) {
    socket.on('foo', function(name, f) {
        f('Hello ' + name);
    });
});

app.listen(3000);
链接地址: http://www.djcxy.com/p/58859.html

上一篇: android browser and socket io

下一篇: Oracle CONNECT BY clause after GROUP BY clause