Ich habe socket.io Server in Nodejs, die ich von JavaScript-Client verbinden konnte, aber von Java/Android kann ich nicht verbinden! hier ist mein Code:socket.io-client java keine Verbindung zum Server
Knoten js:
var socket = require('socket.io')();
var users = {
desktop : {},
android : {}
}
socket.on('connection',function(client){
console.log(`new connection ! ${client.id}`);
client.on('intro',(user)=>{
user.client = client ;
user.cid = client.id ;
users[user.type] = user ;
console.log('users '+users);
})
});
socket.listen(2731)
console.log(`app running`);
hier ist Java-Code:
import io.socket.client.IO;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.AppCompatButton;
import android.view.View;
import android.widget.Toast;
import org.json.JSONException;
import org.json.JSONObject;
import java.net.URISyntaxException;
public class MainActivity extends AppCompatActivity {
io.socket.client.Socket socket ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
socket = IO.socket("http://192.168.1.103:2731");
JSONObject intro = new JSONObject();
intro.put("type","android");
intro.put("id",7);
socket.emit("intro");
} catch (URISyntaxException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(MainActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}
setContentView(R.layout.activity_main);
}
}
ich mit localhost getestet: 2731 auch Firewall ausgeschaltet wurde, aber wieder nicht anschließen. kein Fehler und keine Ausnahme erscheint
Sind Sie ein Emulator oder eine reale Gerät verwenden? überprüfen Sie, dass Ihr Gerät mit dem gleichen Netzwerk wie der Server verbunden ist – ammcom
@ammcom ja Netzwerk ist das gleiche und auch ich nur Java-Code in Eclipse mit localhost laufen: 2731 aber hat nicht funktioniert – Farhad