Bonjour,

Je suis débutant en programmation Java et plus particulièrement sous Android.

Je souhaiterai réaliser une application, qui ouvre un socket envoi une trame puis le referme.

Je suis partie de tuto dispo sur le net, mais lorsque je tente de me connecter au serv depuis l’émulateur, l'application crash, auriez vous une idée d’où peut venir le problème (config émulateur, erreur de code...)

code pour la connexion :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
 
btn_connect.setOnClickListener(new View.OnClickListener()
        {
        	public void onClick(View v) 
        	{
Socket serv;
        		try {
					serv = new Socket("192.168.1.129",972);
				} catch (UnknownHostException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
 
        	}
        });
et le retour d'erreur que j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
09-10 10:24:30.686: D/AndroidRuntime(1580): Shutting down VM
09-10 10:24:30.686: W/dalvikvm(1580): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
09-10 10:24:30.716: E/AndroidRuntime(1580): FATAL EXCEPTION: main
09-10 10:24:30.716: E/AndroidRuntime(1580): android.os.NetworkOnMainThreadException
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at libcore.io.IoBridge.connect(IoBridge.java:112)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.Socket.startupSocket(Socket.java:566)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.Socket.tryAllAddresses(Socket.java:127)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.Socket.<init>(Socket.java:177)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at java.net.Socket.<init>(Socket.java:149)
09-10 10:24:30.716: E/AndroidRuntime(1580): 	at com.example.myfirstapp.MainActivity$1.onClick(MainActivity.java:37)
L'application à normalement les droit pour l'accès au réseau.

Merci d'avance,

Mathieu