8722 sujets

Développement web côté serveur, CMS

Bonjour les amis ! J'ai essai de créer un socket côté client le code mais semble bien sans erreur mais au moment du test j'ai la console qui affiche :

Exception in thread "main" java.net.UnknownHostException: 127.O.O.1
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at java.net.Socket.<init>(Socket.java:434)
	at java.net.Socket.<init>(Socket.java:211)
	at SocketServer.main(SocketServer.java:12)


et voilà mon code ;
merci de bien vouloir m'aider s'il vous plaît merci d'avance.





import java.io.*;
import java.net.*;

public class SocketServer {
	public static void main(String args[] ) throws IOException 
	{
		String hote = "127.O.O.1" ;
		int port = 1000 ;
		Socket soc = new Socket(hote, port) ;
		OutputStream flux = soc.getOutputStream () ;
		OutputStreamWriter sortie = new OutputStreamWriter (flux) ;
		sortie.write(" message envoyé au serveur \n ") ;
		sortie.flush() ;
		
		soc.close() ;	
}
	
}

Modifié par DiegoGaby (04 Nov 2017 - 10:05)
DiegoGaby a écrit :
Bonjour les amis ! J'ai essai de créer un socket côté client le code mais semble bien sans erreur mais au moment du test j'ai la console qui affiche :

Exception in thread "main" java.net.UnknownHostException: 127.O.O.1
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at java.net.Socket.connect(Socket.java:538)
	at java.net.Socket.&lt;init&gt;(Socket.java:434)
	at java.net.Socket.&lt;init&gt;(Socket.java:211)
	at SocketServer.main(SocketServer.java:12)


et voilà mon code ;
merci de bien vouloir m'aider s'il vous plaît merci d'avance.





import java.io.*;
import java.net.*;

public class SocketServer {
	public static void main(String args[] ) throws IOException 
	{
		String hote = "127.O.O.1" ;
		int port = 1000 ;
		Socket soc = new Socket(hote, port) ;
		OutputStream flux = soc.getOutputStream () ;
		OutputStreamWriter sortie = new OutputStreamWriter (flux) ;
		sortie.write(" message envoyé au serveur \n ") ;
		sortie.flush() ;
		
		soc.close() ;	
}
	
}

1 question : y a-t-il au moins un serveur de démarré (127.0.0.1 = local host) et écoutant sur le port n° 1000, ces paramètres ayant été passés à la socket ? Si ce n'est pas le cas, il y a peu de chance de recevoir quoi que ce soit en retour...
1 conseil : la socket étant une ressource, il est vivement conseillé de la fermer (ce que tu fais) dans un bloc Finally (omis dans ton code)... histoire que s'il se passe quoi de ce soit d'anormal avant d'arriver à l'instruction close() celle-ci soit tout de même exécutée.
2 façons de faire sur les dernières versions de Java :
final Socket socket = new Socket(hostName,portNumber);
try
{
...
}
finally
{
socket.close();
}

ou :
try (final Socket socket = new Socket(hostName,portNumber))
{
...
}

Par ailleurs, utiliser le mot clé "final" pour une instance objet est toujours une bonne habitude à prendre... Smiley cligne
C'est une blague ce sujet ? Parce que si vous confondez O et 0, forcément, ça ne marchera pas...