【发布时间】: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();
}
}
服务器控制台:
【问题讨论】:
-
您在 onOpen()、onMessage()、onError() 和 onClose() 中没有代码或日志语句。请添加它们并报告。
-
你应该责怪谁关闭了连接?你的客户?你的 php 脚本?