سلام
من میخوام نحوه ی عملکرد igmp رو در یک سوئیچ 3560 در یک آزمایش طراحی کنم.
2 تا برنامه دارم که با multicast Socket هستند و یکی از برنامه ها بسته میفرسته و دیگری دریافت میکنه!
2 تا کامپیوتر رو به یک سوئیچ 3560 وصل میکنم و بعد روی یکی از کامپیوترها یکی از برنامه ها رو که بسته ارسال میکنه اجرا میکنم و روی کامپیوتر دیگه برنامه ای که بسته دریافت میکنه و همزمان روی هر دو کامپیوتر اسنیفر میزارم و بسته های رد و بدل شده رو گوش میدم تا بتونم تحلیلشون کنم. میخوام که کامپیوترا توی گروه مالتیکست عضو بشن!
ولی دقیق نمیدونم باید چیکار کنم! یعنی اصلا نمیدونم این برنامه ای که نوشتم درسته یا نه!خواهشا اگر کسی میتونه کمکم کنه واقعا به کمک احتیاج دارم!
اینم کدها:
برای recieve
import sun.net.*;
import java.net.*;

int port = 5000;

String group = "225.4.5.6";

MulticastSocket s = new MulticastSocket(port);

s.joinGroup(InetAddress.getByName(group));

byte buf[] = new byte[1024];
DatagramPacket pack = new DatagramPacket(buf, buf.length);
s.receive(pack);

System.out.println("Received data from: " + pack.getAddress().toString() +
":" + pack.getPort() + " with length: " +
pack.getLength());
System.out.write(pack.getData(),0,pack.getLength() );
System.out.println();

s.leaveGroup(InetAddress.getByName(group));
s.close();

برای send


import sun.net.*;
import java.net.*;

int port = 5000;

String group = "225.4.5.6";

int ttl = 1;

MulticastSocket s = new MulticastSocket();

byte buf[] = byte[10];
for (int i=0; i<buf.length; i++) buf[i] = (byte)i;

DatagramPacket pack = new DatagramPacket(buf, buf.length,
InetAddress.getByName(group), port);

s.send(pack,(byte)ttl);

s.close();



موضوعات مشابه: