j'avais essayé le code suivant comme serveur pour envoyer un message aux clients dont ip est la liste msessionComment envoyer un message à plusieurs clients dans une liste de serveur
for (MSession mSession : mSessions)
{
System.out.println("Inside for each");
System.out.println("IP TEST : " + mSession.getRemote_Addr());
ServerSocket srvr = new ServerSocket(1324, 5, InetAddress.getByName(mSession.getRemote_Addr()));
Socket skt = srvr.accept();
System.out.println("IP1:" + InetAddress.getByName(mSession.getRemote_Host()));
System.out.println("IP2:" + skt.getInetAddress().getHostAddress());
System.out.print("Server has connected!\n");
PrintWriter out = new PrintWriter(skt.getOutputStream(), true);
System.out.print("Sending string: '" + data + "'\n");
out.print(data);
out.close();
skt.close();
srvr.close();
}
Le code côté client:
InetAddress ip = InetAddress.getByName(host[0]);
System.out.println("IP SERVER : " + ip);
Socket skt = new Socket(ip, 1324);// Ip address of server
in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
System.out.print("Received string: ");
while (!in.ready()) {}
data = in.readLine();
System.out.println(in.readLine());
System.out.print("'\n");
Popupapp app = new Popupapp();
app.fdis(data);
in.close();
skt.close();
Je reçois BindException peut assigner l'adresse demandée: JVM_Bind J'ai essayé d'autres ports, mais l'exception reste le même j'avais essayé les ports 8080, 8089,8086,8009,1234,8242,8006
S'il vous plaît aidez-moi à résoudre ce problème.
J'avais essayé sur ce programme simple et il montre même exception
public class ServerSide extends Thread{
public void run()
{
while(true)
{
String data = "Recieved new notification";
try {
ServerSocket srvr = new ServerSocket(1234, 5, InetAddress.getByName("192.168.168.40"));
Socket skt = srvr.accept();
skt.getInputStream();
System.out.print("Server has connected!\n");
PrintWriter out = new PrintWriter(skt.getOutputStream(), true);
System.out.print("Sending string: '" + data + "'\n");
out.print(data);
out.close();
skt.close();
srvr.close();
Thread.sleep(500);
}
catch(Exception e) {
System.out.print("Whoops! It didn't work!\n" + e);
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
Êtes-vous en cours d'exécution à la fois serveur et client d'une machine virtuelle Java (soit un principal Buth) – Mordechai
pas deux sont dans différents systèmes –