У меня такая ситуация, как Client1 отправляет данные клиенту2, и оттуда данные отправляются на сервер. Теперь с сервера данные отправляются другим нескольким клиентам.Как узнать, отключен ли клиент или нет на стороне сервера/клиента?
Итак, теперь, когда Client1 подключен к клиенту2 и после отправки данных , если клиент1 отключает, как узнать, что клиент1 отключен в client2?
Мой Client1 фрагмент кода:
InetAddress address = InetAddress.getByName(ipAddress);
MulticastSocket socket = new MulticastSocket(port);
socket.joinGroup(address);//join a Multicast group and send the group salutations
byte[] data;
System.out.print("Enter data: ");
String str = (br.readLine());
DatagramPacket packet;
//send the packet
data = new byte[1024];
data = str.getBytes();
packet = new DatagramPacket(data,str.length(),address,port);
socket.send(packet);
Мой Client2 фрагмент кода:
InetAddress address = InetAddress.getByName(ipAddress);
byte[] data = new byte[1024];
DatagramPacket packet = new DatagramPacket(data,data.length);
MulticastSocket socket = new MulticastSocket(port);
socket.joinGroup(address);//join a Multicast group and send the group salutations
// receive the packets
socket.receive(packet);
str = new String(packet.getData(),0,packet.getLength());
System.out.println(ipname+" with portnumber "+port + " sent : "+str);
Теперь, если client1 подключается к CLIENT2 и через некоторое время он разъединяет, как знать, что client1 получил отключен в client2?
Я уже использовал isConnected(), isbound(), isClosed()
, а также isReachable(int timeout)
методов. Но никто из них не помог мне.
Ваш вопрос не имеет смысла. Никто не связан ни с чем. Вы используете UDP. Это протокол без установления соединения. 'isConnected()', и друзья ничего не сообщают вам о состоянии соединения, только о вашем сокете. Не используйте форматирование цитаты для текста, который не цитируется. – EJP