Android - JavaPhoenixChannel - EPIPE(断管)

时间:2017-10-04 22:56:52

标签: android sockets

我正在尝试使用JavaPhoenixChannels(https://github.com/eoinsha/JavaPhoenixChannels)来连接自定义聊天服务器。

我连接套接字,并在5秒后(带有sendto failed: EPIPE (Broken pipe)版本)的消息master抛出异常。

当我使用v0.2.0版本时,套接字将以代码1011关闭。我已经看到了这段代码的含义

  

1011表示服务器正在终止连接,因为         它遇到了阻止它的意外情况         满足要求。

我正在关注README示例以创建连接。可能有什么不对?我们已经使用iOS测试了套接字服务器,它可以正常运行。

        final String SOCKET_URL_TEMPLATE = "ws://socket.test.com/socket/websocket?token=%s&vsn=2.0.0";
        String url = String.format(SOCKET_URL_TEMPLATE, "token_xpto");
        socket = new Socket(url);

        socket.onOpen(new ISocketOpenCallback() {
            @Override
            public void onOpen() {

                Log.d("[SOCKET_TEST]", "socket opened");

                //this part connects and join the channel, but the error occurs even without this part      
                //simpleChannelConnection();

            }
        });

        socket.onClose(new ISocketCloseCallback() {
            @Override
            public void onClose() {
                Log.d("[SOCKET_TEST]", "socket closed");
            }
        });

        socket.onError(new IErrorCallback() {
            @Override
            public void onError(String s) {
                Log.d("[SOCKET_TEST]", "socket error - " + s);
            }
        });

        socket.onMessage(new IMessageCallback() {
            @Override
            public void onMessage(Envelope envelope) {
                Log.d("[SOCKET_TEST]", "socket message - " + envelope.toString());
            }
        });

        socket.reconectOnFailure(false);
        socket.connect();

谢谢。

路易斯

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。它是原始lib支持的服务器版本。

幸运的是,有一个已经完成此更新的分支。

https://github.com/amensia/JavaPhoenixChannels

谢谢。