Hey Leute,
Ich habe mir schonmal einen Messager mit Server und Client am PC gemacht. Der funktioniert einwandfrei. Nun wollte ich ihn am Handy mit Android Studios erweitern.
Erstmal der Code von Client
[CODE lang="java" title="Code"]public class MainClient {
Client client;
int udpPort = 1924, tcpPort = 1923;
public MainClient(String IP, Context ctx){
try {
client = new Client(16324 * 64, 16324 * 64);
Register.register(client.getKryo());
client.start();
client.connect(50000, IP, tcpPort, udpPort);
client.addListener(new ClientListener());
}catch(IOException e) {
e.printStackTrace();
Toast.makeText(ctx.getApplicationContext(),"Verbindung konnte nicht aufgebaut werden",Toast.LENGTH_LONG).show();
}
}[/CODE]
In der XML habe ich das Hinzugefügt
[CODE lang="java" title="XML"]<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />[/CODE]
Ich habe die IP Addresse von meinem Computer probiert und den Localhost bei beiden kam der Fehler
[CODE lang="java" title="Fehlercode:"]I/System.out: 00:00 INFO: Connecting: /192.168.178.21:1923/1924
W/System.err: java.io.IOException: Unable to connect to: /192.168.178.21:1923
W/System.err: at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:92)
at com.esotericsoftware.kryonet.Client.connect(Client.java:156)
at com.esotericsoftware.kryonet.Client.connect(Client.java:117)
at tuba.wauzel.at.filesending.client.<init>(client.java:20)
at tuba.wauzel.at.filesending.MainActivity$1.onClick(MainActivity.java:29)
at android.view.View.performClick(View.java:7125)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)
W/System.err: at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.net.SocketException: Operation not permitted
W/System.err: at sun.nio.ch.Net.socket0(Native Method)
at sun.nio.ch.Net.socket(Net.java:420)
at sun.nio.ch.Net.socket(Net.java:413)
at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:130)
at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:60)
at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:73)
... 16 more
D/EGL_emulation: eglMakeCurrent: 0xe163c4a0: ver 2 0 (tinfo 0xe169aa40)
D/EGL_emulation: eglMakeCurrent: 0xe163c4a0: ver 2 0 (tinfo 0xe169aa40)
[/CODE]
tcp und udpPort stimme überein. Kann es sein das es daran liegt, dass ich den Android Emulator benütze?
Danke im Vorhinein.
Ich habe mir schonmal einen Messager mit Server und Client am PC gemacht. Der funktioniert einwandfrei. Nun wollte ich ihn am Handy mit Android Studios erweitern.
Erstmal der Code von Client
[CODE lang="java" title="Code"]public class MainClient {
Client client;
int udpPort = 1924, tcpPort = 1923;
public MainClient(String IP, Context ctx){
try {
client = new Client(16324 * 64, 16324 * 64);
Register.register(client.getKryo());
client.start();
client.connect(50000, IP, tcpPort, udpPort);
client.addListener(new ClientListener());
}catch(IOException e) {
e.printStackTrace();
Toast.makeText(ctx.getApplicationContext(),"Verbindung konnte nicht aufgebaut werden",Toast.LENGTH_LONG).show();
}
}[/CODE]
In der XML habe ich das Hinzugefügt
[CODE lang="java" title="XML"]<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />[/CODE]
Ich habe die IP Addresse von meinem Computer probiert und den Localhost bei beiden kam der Fehler
[CODE lang="java" title="Fehlercode:"]I/System.out: 00:00 INFO: Connecting: /192.168.178.21:1923/1924
W/System.err: java.io.IOException: Unable to connect to: /192.168.178.21:1923
W/System.err: at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:92)
at com.esotericsoftware.kryonet.Client.connect(Client.java:156)
at com.esotericsoftware.kryonet.Client.connect(Client.java:117)
at tuba.wauzel.at.filesending.client.<init>(client.java:20)
at tuba.wauzel.at.filesending.MainActivity$1.onClick(MainActivity.java:29)
at android.view.View.performClick(View.java:7125)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:1119)
W/System.err: at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: java.net.SocketException: Operation not permitted
W/System.err: at sun.nio.ch.Net.socket0(Native Method)
at sun.nio.ch.Net.socket(Net.java:420)
at sun.nio.ch.Net.socket(Net.java:413)
at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:130)
at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:60)
at com.esotericsoftware.kryonet.TcpConnection.connect(TcpConnection.java:73)
... 16 more
D/EGL_emulation: eglMakeCurrent: 0xe163c4a0: ver 2 0 (tinfo 0xe169aa40)
D/EGL_emulation: eglMakeCurrent: 0xe163c4a0: ver 2 0 (tinfo 0xe169aa40)
[/CODE]
tcp und udpPort stimme überein. Kann es sein das es daran liegt, dass ich den Android Emulator benütze?
Danke im Vorhinein.