websocket - Socket IO 监听器在 Android 中不起作用
问题描述
我正在处理 Android TV 的通知。我已经使用 Socket IO 服务器连接实现了它。我已经使用 java.net.Socket 与 Socket Server 建立了连接,但我无法收听服务器发送的消息。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listen_socket_message);
new AsyncAction().execute();
}
private class AsyncAction extends AsyncTask<String, Void, String> {
protected String doInBackground(String... args) {
try {
InetAddress serverAddr = InetAddress.getByName("xx.xx.xxx.xxx");
clientSocket = new Socket(serverAddr, 8000);
} catch (UnknownHostException e1) {
e1.printStackTrace();
Log.d("Exception_UnknownHost", e1.getMessage());
} catch (IOException e1) {
e1.printStackTrace();
Log.d("Exception_socket", e1.getMessage());
}
return null;//returns what you want to pass to the onPostExecute()
}
protected void onPostExecute(String result) {
//resultis the data returned from doInbackground
if (clientSocket.isConnected()) {
setListener();
Toast.makeText(SocketConnectionActivity.this, "Connected!!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(SocketConnectionActivity.this, "Not Connected!!", Toast.LENGTH_LONG).show();
}
}
}
private void setListener() {
// TODO Auto-generated method stub
new Thread() {
@Override
public void run() {
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
String line = br.readLine();
Log.d("SocketConnection",line);
br.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
}
解决方案
此代码中的服务器套接字在哪里?您正在创建一个客户端套接字并使用同一个客户端套接字进行侦听。
推荐阅读
- python - 使用 plotnine 向图形添加圆形文本
- microsoft-graph-api - MS-graph OneNote 页面 ID 如何映射到 OneNote 应用链接页面 ID?
- python - 如何使用 Visual Studio Code 连接到新创建的 MongoDB 集合?
- javascript - Sequelize - 查找行的索引/行号?
- java - Android studio Location Manager 问题,不知道如何解决
- java - 我应该如何根据分布式服务器中的定制字段为对象组生成唯一的组 ID?
- javascript - 复制 d3.js 图
- javascript - 如何从 Spotify Player JS 库中访问音频功能
- windows - 在 Windows 上链接 CUDA 时如何强制 CMake 使用响应文件?
- node.js - 无法下载 node-sqlite3@4.2.0 - node-pre-gyp 错误尝试下载(403)访问被拒绝 - node.js