Android开发,Gottox socket.io-java-client:文件未找到异常/socket.io/1/

y

这是我的问题:

我一直在尝试为Android应用程序使用socket.io-java-client,但最终以握手错误告终(请参阅下文)。

这是我的应用程序源代码:

public void runIO(){
    try {
        SocketIO socket = new SocketIO("http://192.168.1.60:1337");
        socket.connect(new IOCallback() {
            @Override
            public void onMessage(JSONObject json, IOAcknowledge ack) {
                try {
                    System.out.println("Server said:" + json.toString(2));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onMessage(String data, IOAcknowledge ack) {
                System.out.println("Server said: " + data);
            }

            @Override
            public void onError(SocketIOException socketIOException) {
                System.out.println("an Error occured");
                socketIOException.printStackTrace();
            }

            @Override
            public void onDisconnect() {
                System.out.println("Connection terminated.");
            }

            @Override
            public void onConnect() {
                System.out.println("Connection established");
            }

            @Override
            public void on(String event, IOAcknowledge ack, Object... args) {
                System.out.println("Server triggered event '" + event + "'");
            }
        });

        // This line is cached until the connection is establisched.
        socket.send("Hello Server!");
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

和我的Node.js / Socket.io:

    var app = require('http').createServer(handler)
    var io = require('socket.io')(app); 
    var fs = require('fs');

    app.listen(1337);

    function handler (req, res) {
      fs.readFile(__dirname + '/index.html',
      function (err, data) {
        if (err) {
          res.writeHead(500);
          return res.end('Error loading index.html');
        }

        res.writeHead(200);
        res.end(data);
      });
    }

    io.on('connection', function (socket) {
      socket.emit('news', { hello: 'world' });
      socket.on('my other event', function (data) {
        console.log(data);
      });
    });

而且我收到以下错误:

    06-09 03:59:53.955: W/System.err(11738): io.socket.SocketIOException: Error while handshaking
    06-09 03:59:53.965: W/System.err(11738):    at io.socket.IOConnection.handshake(IOConnection.java:322)
    06-09 03:59:53.965: W/System.err(11738):    at io.socket.IOConnection.access$7(IOConnection.java:292)
    06-09 03:59:53.970: W/System.err(11738):    at io.socket.IOConnection$ConnectThread.run(IOConnection.java:199)
    06-09 03:59:53.970: W/System.err(11738): Caused by: java.io.FileNotFoundException: http://192.168.1.60:1337/socket.io/1/
    06-09 03:59:53.975: W/System.err(11738):    at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
    06-09 03:59:53.975: W/System.err(11738):    at io.socket.IOConnection.handshake(IOConnection.java:313)

在浏览器上它可以工作,并且位于的页面http://192.168.1.60:1337/socket.io/1/返回以下消息(通过浏览器):

{"code":0,"message":"Transport unknown"}

我不知道该怎么做才能使其工作...请帮助:x

感谢:D

编辑:

正如Larky所说,我不得不将Socket.io版本降级为0.9.16通过以下节点代码,它像一个魅力一样工作:

    var io = require('socket.io').listen(80); 

    io.on('connection', function (socket) {
      socket.emit('news', { hello: 'world' });
      socket.on('my other event', function (data) {
        console.log(data);
      });
    });
拉基

今天,我通过在服务器端恢复到较早版本的socket.io(较早版本的socket.io Node模块)解决了该问题。也许协议改变了?

去做这个:

  1. 删除node_modules文件夹中的socket.io文件夹。

  2. 在控制台上,输入:

npm安装[email protected]

那应该做...对我有用:)

(显然,这不能完全解决问题,但是较早版本的socket.io对于我而言可以正常工作)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android开发,Gottox socket.io-java-client:文件未找到异常/socket.io/1/

来自分类Dev

Socket.io 0.9使用Gottox / socket.io-java-client在Android上发出响应

来自分类Dev

/socket.io/socket.io.js 404(未找到)

来自分类Dev

/socket.io/socket.io.js 404(未找到)

来自分类Dev

激活器ui java.io文件未找到异常

来自分类Dev

socket.io-client:服务器响应状态为404(未找到)

来自分类Dev

如何处理“ GET /socket.io/socket.io.js”未找到400?

来自分类Dev

如何解决Socket.io 404(未找到)错误?

来自分类Dev

Javascript-socket.io get显示未找到

来自分类Dev

Socket.IO-client Java 的 Reactor Flux 代理

来自分类Dev

缺少Socket.io文件?

来自分类Dev

JavaScriptCore + Socket.IO

来自分类Dev

Socket.IO与扭曲

来自分类Dev

Socket.io替代

来自分类Dev

Ajax与Socket.io

来自分类Dev

JavaScriptCore + Socket.IO

来自分类Dev

Flask Socket IO加密

来自分类Dev

Socket IO 默认房间

来自分类Dev

在Android上发送socket.io消息

来自分类Dev

Socket.io Android库发送方法

来自分类Dev

Android socket io获取在线用户

来自分类Dev

关闭连接socket.io android

来自分类Dev

在 Android 中使用 Socket.io 的 RxKotlin

来自分类Dev

Does Socket IO involve Disk IO?

来自分类Dev

socket.io-socket.on等待承诺

来自分类Dev

IO :: Socket与Socket我都“使用”吗?

来自分类Dev

socket.io-socket.on等待承诺

来自分类Dev

Java Socket.IO缺少依赖项NoClassDefFoundError

来自分类Dev

socket.io-client无法连接