2013-07-18 2 views
1

연결된 클라이언트에서 메시지를 멀티 캐스트해야하지만 문제가 있습니다.자바에서 메시지를 멀티 캐스팅하는 중 오류가 발생했습니다.

String msg = "Hello"; 
InetAddress group = InetAddress.getByName("228.5.6.7"); 
MulticastSocket s = new MulticastSocket(6789); 
s.joinGroup(group); 
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), 
         group, 6789); 
s.send(hi); 

나는 예외가 점점 오전 :

java.net.SocketException: Not a multicast address 

내가 시도 : 나는 this 링크를 다음 코드를 시도

  • 로컬 호스트를
  • 127.0.0.1
  • 192.168 .1.29 (내 로컬 IP)

무엇이 잘못되었을 수 있습니다. 이 주제에 익숙하지 않아서 디버깅 할 수 없습니다. 어떤 도움을 주셔서 감사합니다.

+0

s.joinGroup (group) 올바른 명령이 아닙니까? –

+0

@ publ1c_stat1c '멀티 캐스트 그룹 설정 [설정]'과 같은 작업은 없습니다. – EJP

답변

1

코드가 작동합니다.

보내기 위해 그룹에 가입하지 않아도됩니다. 그것으로부터 만받을 수 있습니다. 그러나 가입 할 경우 유효한 멀티 캐스트 주소 인 IP 주소를 지정해야합니다. 귀하가 게시 한 코드에 명시된 내용에도 불구하고 실제로 코드는 유효한 멀티 캐스트 주소를 사용하지 않습니다.

+0

이제는 작동했지만 두 연결 사이에서만 작동합니다. 일대 다 연결에서 작동하도록 할 수 있습니까? –

+0

어? 멀티 캐스트 *는 일대 다입니다. 원하는만큼 그룹 회원을 보유 할 수 있습니다. 그들이해야 할 일은 그룹에 가입하고받는 것뿐입니다. – EJP

관련 문제