【问题标题】:Socket disconnect as soon as it connects in android套接字在android中连接后立即断开
【发布时间】:2016-03-28 14:33:39
【问题描述】:

我正在尝试创建群聊 android 应用程序并使用用 php 编写的 Websocket 服务器。该服务器在 Web 浏览器上工作正常,但是当我尝试在 android 应用程序中使用它时,它一连接就断开。

这里是安卓代码:

公共类 MainActivty 扩展 Activity{

private WebSocketClient mWebSocketClient;
private ListView mMessageListView;
private ArrayAdapter<String> mAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_layout);
    mMessageListView=(ListView)findViewById(R.id.listView);
    mAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
    mMessageListView.setAdapter(mAdapter);
    connectWebSocket();
}

private void connectWebSocket(){
    URI uri;
    try {
        uri=new URI("ws://192.168.0.102:9000");
        mWebSocketClient=new WebSocketClient(uri){

            @Override
            public void onOpen(ServerHandshake serverHandshake) {

            }

            @Override
            public void onMessage(String s) {

            }

            @Override
            public void onClose(int i, String s, boolean b) {

            }

            @Override
            public void onError(Exception e) {


            }
        };
        mWebSocketClient.connect();
    } catch (URISyntaxException e) {
        e.printStackTrace();
        return;
    }

}


private void Append_Message(String log){
    mAdapter.add(log);
    mAdapter.notifyDataSetChanged();
}

}

服务器控制台:

server console shows client activity

【问题讨论】:

  • 您在 onOpen()、onMessage()、onError() 和 onClose() 中没有代码或日志语句。请添加它们并报告。
  • 你应该责怪谁关闭了连接?你的客户?你的 php 脚本?

标签: android websocket


【解决方案1】:

当我使用https://github.com/pavelbucek/tyrus-client-android-test 重写此代码时,我认为我无法满足我以前使用的库的全部要求。但是这个链接上的教程已经解决了我的问题。

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多