Excepción de SocketIO mientras usa el cliente Android para socketIO
Estoy creando una aplicación de chat de Android. Estoy usando nodejs en el extremo del servidor y tratando de implementar el cliente android para socketIO. Estoy recibiendo la SocketIO exception
. ¿Qué hay de malo con los códigos?
Servidor
var http = require('http'),fs = require('fs'); var app = http.createServer(function (req, res) { res.end(); }).listen(8000, '127.0.0.1'); var io = require('socket.io').listen(app); io.sockets.on('connection', function(socket) { socket.on('echo', function(data) { socket.emit('echoback', data); }); });
Cliente
package com.jack.pri; import java.net.MalformedURLException; import org.json.JSONException; import org.json.JSONObject; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.widget.TextView; import io.socket.*; public class MainActivity extends Activity { //private SocketIO socket; private TextView t; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); t=(TextView) findViewById(R.id.et1); t.setText("uio"); ////// // System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); SocketIO socket = null; try { socket = new SocketIO("http://10.0.2.2:8000"); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } socket.connect(new IOCallback() { @Override public void on(String event, IOAcknowledge ack, Object... args) { if ("echoback".equals(event) && args.length > 0) { Log.d("SocketIO", "" + args[0]); t.setText("s "); // -> "hello" } } @Override public void onMessage(JSONObject json, IOAcknowledge ack) {} @Override public void onMessage(String data, IOAcknowledge ack) {} @Override public void onError(SocketIOException socketIOException) { socketIOException.printStackTrace();} @Override public void onDisconnect() {} @Override public void onConnect() {} }); socket.emit("echo", "hello"); /// } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
Registro de errores
09-10 13:49:34.587: W/System.err(1963): io.socket.SocketIOException: Error while handshaking 09-10 13:49:34.587: W/System.err(1963): at io.socket.IOConnection.handshake(IOConnection.java:322) 09-10 13:49:34.597: W/System.err(1963): at io.socket.IOConnection.access$600(IOConnection.java:39) 09-10 13:49:34.597: W/System.err(1963): at io.socket.IOConnection$ConnectThread.run(IOConnection.java:199) 09-10 13:49:34.637: W/System.err(1963): Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
- Cifrar con Node.js módulo Crypto y descifrar con Java (en la aplicación de Android)
- Bucle de redireccionamiento infinito en Android cuando se redirecciona desde el servidor con AngularJS
- ¿Cuál es la forma correcta de validar google concedido tokens OAuth en un servidor node.js?
- Node.js Hmac SHA256 base64 de cadena
- reaccionar nativo hola mundo
- Emulando ubicación geográfica en Chrome con movimiento
- Appcelerator Titanium 3 Errores de entorno del emulador de Android
- Node.js npm en Android
- Enviar notificación de carga con nodo-gcm al dispositivo android
- Ejecución de Node.Js en Android
- Comunicarse con Android dispositivo bluetooth a través de NodeJS y Termux
- No se pudo iniciar './qemu/windows-x86_64/qemu-system-i386.exe': No existe ningún archivo o directorio de este tipo
- Cordova after_prepare hook tiene éxito en Android pero falla en iOS
Comprueba si pones INTERNET PERMISSION
en el Manifest
. Si no lo hace, ponga:
<uses-permission android:name="android.permission.INTERNET"/>
- ¿El oyente Scrollview no está trabajando en Xamarin para Android?
- Cómo establecer un punto de inicio utilizando path () en onDraw () utilizando canvas ..?