Bonjour,

Je souhaite transférer des données depuis un client vers un serveur.
Je créé une application côté client pour transférer cette donnée, mais j'ai besoin d'un serveur pour tester le code.

Pour émuler un serveur sur la machine sur laquelle je développe, j'ai d'abord regardé côté Server Telnet mais ce n'est plus disponible sur Windows 10.
J'ai téléchargé du coup WebServer Easyphp. Pour tester que la communication fonctionnait entre mon PC et ce serveur (réalisé sur ce même PC) j'ai téléchargé TeraTerm Pro. La connection semble OK, pas d'erreur.

J'en arrive au code proprement parlé en Java.
Je fais simplement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
private static final String SERVER_ADDR = "192.168.42.26";
private static final int PORT = 888;

socket = new Socket(SERVER_ADDR, PORT);
Les variables SERVER_ADDR et PORT sont celles qui m'ont permis de me connecter avec TeraTerm.
Lorsque l'exécute le code, l'application ferme et la console me renvoit:

D/AndroidRuntime: Shutting down VME/AndroidRuntime: FATAL EXCEPTION: main
Process: test.test.testapp, PID: 6717
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:110)
at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
at libcore.io.IoBridge.connect(IoBridge.java:122)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163)
at java.net.Socket.startupSocket(Socket.java:592)
at java.net.Socket.tryAllAddresses(Socket.java:128)
at java.net.Socket.<init>(Socket.java:178)
at java.net.Socket.<init>(Socket.java:150)
at test.test.testapp.MainActivity.sendToServer(MainActivity.java:138)
at test.test.testapp.MainActivity$3.onClick(MainActivity.java:80)
at android.view.View.performClick(View.java:5702)
at android.widget.TextView.performClick(TextView.java:10888)
at android.view.View$PerformClick.run(View.java:22541)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
I/Process: Sending signal. PID: 6717 SIG: 9
Application terminated.
Pouvez-vous me dire ce qui pêche dans la conf / code?

Merci