Я попытался следующий код в качестве сервера для отправки сообщения для клиентов, чьи IP в списке MsessionКак отправить сообщение нескольким клиентам в виде списка с сервера
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();
}
код на стороне клиента:
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();
Я получаю bindexception не может назначить запрашиваемый адрес: JVM_Bind Я пробовал другие порты, но исключение остается тот же я пытался порты 8080, 8089,8086,8009,1234,8242,8006
Пожалуйста, помогите мне исправить это.
я примерил эту простую программу, и она показывает то же самое исключение
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();
}
}
}
}
Вы работаете как сервер и клиент из одной виртуальной машины Java (то есть один главный для Buth) – Mordechai
не оба в разных системах –