私は、Client1がclient2にデータを送信し、そこからデータがServer.Nowに送信され、サーバーからデータが他の複数のクライアントに送信されるような状況があります。クライアントがサーバー/クライアント側で切断されているかどうかを確認する方法はありますか?
これで、Client1がclient2に接続され、データを送信した後、client1がクライアント2が接続されていないことを知る方法を切断すると、データが に送信されます。
私のクライアント1のコードスニペットは、次のとおりです。
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);
私のクライアント2のコードスニペットは、次のとおりです。今
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は、クライアント2に接続されますと、いくつかの時間後に、それが持っているCLIENT1を知る方法を切断した場合クライアント2で切断されましたか?
私は既にisConnected(), isbound(), isClosed()
とisReachable(int timeout)
の方法を使用しています。しかし、彼らのどれも私を助けませんでした。
あなたの質問は理にかなっていません。誰も何にも接続していません。あなたはUDPを使用しています。これはコネクションレスなプロトコルです。 'isConnected()'と友人は接続の状態については何も教えてくれません。あなたのソケットだけです。引用符で囲まれていないテキストには引用形式を使用しないでください。 – EJP