Java 在Android上使用nv websocket客户端

Java 在Android上使用nv websocket客户端,java,android,websocket,Java,Android,Websocket,我正在使用Android Studio 2.2.3/JRE1.8.0_76在Android上测试nv websocket客户端 我的代码基本上与README.md文件中的echo示例应用程序相同。该类在Java8Update111下运行良好,但在AndroidStudio下运行失败。我在调试模式下运行代码,但在以下位置失败: 来源:com/neovisioniers/ws/client/Address.java:36 InetSocketAddress toInetSocketAddress()

我正在使用Android Studio 2.2.3/JRE1.8.0_76在Android上测试nv websocket客户端

我的代码基本上与README.md文件中的echo示例应用程序相同。该类在Java8Update111下运行良好,但在AndroidStudio下运行失败。我在调试模式下运行代码,但在以下位置失败:

来源:com/neovisioniers/ws/client/Address.java:36

InetSocketAddress toInetSocketAddress()
{
    return new InetSocketAddress(mHost, mPort);// mHost = "echo.websocket.org", mPort = 80.
}
Android Studio中的错误消息:

Method threw 'java.lang.NullPointerException' exception. Cannot evaluate java.net.InetSocketAddress.toString()
知道我做错了什么吗

我的测试班:

public class TestWS {

private String m_msg;
private String m_uriStr; // = "ws://echo.websocket.org";
private static final int TIMEOUT = 5000;

public TestWS(String uriStr) {
    m_uriStr = uriStr;
    m_msg = "";
}

public void RunTest() {
    try {
        // Connect to the echo server.
        WebSocket ws = connect();
        ws.sendText("This is a test");
        Thread.sleep(1000); // Make sure m_msg is updated before function return.
        ws.disconnect();
    }
    catch(Exception ex)
    {
        m_msg += "Exception: " + ex.getMessage(); // getMessage() returns null.
    }
}

private WebSocket connect() throws IOException, WebSocketException
{
    return new WebSocketFactory()
            .setConnectionTimeout(TIMEOUT)
            .createSocket(m_uriStr)
            .addListener(new WebSocketAdapter() {
                // A text message arrived from the server.
                @Override
                public void onTextMessage(WebSocket websocket, String message) {
                    m_msg += "Echo: " + message;
                }
            })
            .addExtension(WebSocketExtension.PERMESSAGE_DEFLATE)
            .connect(); // <= failed in this function.
}

public String GetMsg(){
    return m_msg;
}
}
公共类TestWS{
私有字符串m_msg;
私有字符串m_uriStr;//=“ws://echo.websocket.org”;
私有静态最终整数超时=5000;
公共TestWS(字符串uriStr){
m_uriStr=uriStr;
m_msg=“”;
}
公共无效运行测试(){
试一试{
//连接到echo服务器。
WebSocket ws=connect();
ws.sendText(“这是一个测试”);
Thread.sleep(1000);//确保在函数返回之前更新了m_msg。
ws.disconnect();
}
捕获(例外情况除外)
{
m_msg+=“异常:”+ex.getMessage();//getMessage()返回null。
}
}
私有WebSocket connect()引发IOException,WebSocketException
{
返回新的WebSocketFactory()
.setConnectionTimeout(超时)
.createSocket(m_uriStr)
.addListener(新的WebSocketAdapter(){
//从服务器收到一条文本消息。
@凌驾
公共void onTextMessage(WebSocket WebSocket,字符串消息){
m_msg+=“回声:”+信息;
}
})
.addExtension(WebSocketExtension.PERMESSAGE_DEFLATE)

.connect();//我在一条关于这个问题的评论中发现,这个库需要JDK8,因此不会在Android上运行。有人知道这是不是真的吗?你找到解决方案了吗?在我的例子中,我试图用不同的地址重新连接,但出现了错误,但消息为空,所以,不知道会发生什么……不,我没有找到任何解决方案,不得不切换到其他地址o另一个web套接字客户端。