Java Doc for MulticastSocket.java in  » 6.0-JDK-Modules » j2me » java » net » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » j2me » java.net 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.net.DatagramSocket
      java.net.MulticastSocket

MulticastSocket
public class MulticastSocket extends DatagramSocket (Code)
The multicast datagram socket class is useful for sending and receiving IP multicast packets. A MulticastSocket is a (UDP) DatagramSocket, with additional capabilities for joining "groups" of other multicast hosts on the internet.

A multicast group is specified by a class D IP address and by a standard UDP port number. Class D IP addresses are in the range 224.0.0.0 to 239.255.255.255, inclusive. The address 224.0.0.0 is reserved and should not be used.

One would join a multicast group by first creating a MulticastSocket with the desired port, then invoking the joinGroup(InetAddress groupAddr) method:

 // join a Multicast group and send the group salutations
 ...
 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);
 // get their responses!
 byte[] buf = new byte[1000];
 DatagramPacket recv = new DatagramPacket(buf, buf.length);
 s.receive(recv);
 ...
 // OK, I'm done talking - leave the group...
 s.leaveGroup(group);
 
When one sends a message to a multicast group, all subscribing recipients to that host and port receive the message (within the time-to-live range of the packet, see below). The socket needn't be a member of the multicast group to send messages to it.

When a socket subscribes to a multicast group/port, it receives datagrams sent by other hosts to the group/port, as do all other members of the group and port. A socket relinquishes membership in a group by the leaveGroup(InetAddress addr) method. Multiple MulticastSocket's may subscribe to a multicast group and port concurrently, and they will all receive group datagrams.

Currently applets are not allowed to use multicast sockets.
author:
   Pavani Diwanji
since:
   JDK1.1




Constructor Summary
public  MulticastSocket()
     Create a multicast socket.

If there is a security manager, its checkListen method is first called with 0 as its argument to ensure the operation is allowed.

public  MulticastSocket(int port)
     Create a multicast socket and bind it to a specific port.

If there is a security manager, its checkListen method is first called with the port argument as its argument to ensure the operation is allowed.

public  MulticastSocket(SocketAddress bindaddr)
     Create a MulticastSocket bound to the specified socket address.

Or, if the address is null, create an unbound socket.

If there is a security manager, its checkListen method is first called with the SocketAddress port as its argument to ensure the operation is allowed.


Method Summary
public  InetAddressgetInterface()
     Retrieve the address of the network interface used for multicast packets.
public  booleangetLoopbackMode()
     Get the setting for local loopback of multicast datagrams.
public  NetworkInterfacegetNetworkInterface()
     Get the multicast network interface set.
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error.
public  intgetTimeToLive()
     Get the default time-to-live for multicast packets sent out on the socket.
public  voidjoinGroup(InetAddress mcastaddr)
     Joins a multicast group.
public  voidjoinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
     Joins the specified multicast group at the specified interface.
public  voidleaveGroup(InetAddress mcastaddr)
     Leave a multicast group.
public  voidleaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
     Leave a multicast group on a specified local interface.
public  voidsend(DatagramPacket p, byte ttl)
     Sends a datagram packet to the destination, with a TTL (time- to-live) other than the default for the socket.
public  voidsetInterface(InetAddress inf)
     Set the multicast network interface used by methods whose behavior would be affected by the value of the network interface.
public  voidsetLoopbackMode(boolean disable)
     Disable/Enable local loopback of multicast datagrams The option is used by the platform's networking code as a hint for setting whether multicast data will be looped back to the local socket.
public  voidsetNetworkInterface(NetworkInterface netIf)
     Specify the network interface for outgoing multicast datagrams sent on this socket.
Parameters:
  netIf - the interface
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error.
public  voidsetTimeToLive(int ttl)
     Set the default time-to-live for multicast packets sent out on this MulticastSocket in order to control the scope of the multicasts.


Constructor Detail
MulticastSocket
public MulticastSocket() throws IOException(Code)
Create a multicast socket.

If there is a security manager, its checkListen method is first called with 0 as its argument to ensure the operation is allowed. This could result in a SecurityException.

When the socket is created the DatagramSocket#setReuseAddress(true) method is called to enable the SO_REUSEADDR socket option.
exception:
  IOException - if an I/O exception occurswhile creating the MulticastSocket
exception:
  SecurityException - if a security manager exists and its checkListen method doesn't allow the operation.
See Also:   SecurityManager.checkListen
See Also:   java.net.DatagramSocket.setReuseAddress(boolean)
See Also:   




MulticastSocket
public MulticastSocket(int port) throws IOException(Code)
Create a multicast socket and bind it to a specific port.

If there is a security manager, its checkListen method is first called with the port argument as its argument to ensure the operation is allowed. This could result in a SecurityException.

When the socket is created the DatagramSocket#setReuseAddress(true) method is called to enable the SO_REUSEADDR socket option.
Parameters:
  port - port to use
exception:
  IOException - if an I/O exception occurswhile creating the MulticastSocket
exception:
  SecurityException - if a security manager exists and its checkListen method doesn't allow the operation.
See Also:   SecurityManager.checkListen
See Also:   java.net.DatagramSocket.setReuseAddress(boolean)
See Also:   




MulticastSocket
public MulticastSocket(SocketAddress bindaddr) throws IOException(Code)
Create a MulticastSocket bound to the specified socket address.

Or, if the address is null, create an unbound socket.

If there is a security manager, its checkListen method is first called with the SocketAddress port as its argument to ensure the operation is allowed. This could result in a SecurityException.

When the socket is created the DatagramSocket#setReuseAddress(true) method is called to enable the SO_REUSEADDR socket option.
Parameters:
  bindaddr - Socket address to bind to, or null foran unbound socket.
exception:
  IOException - if an I/O exception occurswhile creating the MulticastSocket
exception:
  SecurityException - if a security manager exists and its checkListen method doesn't allow the operation.
See Also:   SecurityManager.checkListen
See Also:   java.net.DatagramSocket.setReuseAddress(boolean)
See Also:   
since:
   1.4





Method Detail
getInterface
public InetAddress getInterface() throws SocketException(Code)
Retrieve the address of the network interface used for multicast packets. An InetAddress representingthe address of the network interface used for multicast packets.
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error.
See Also:   MulticastSocket.setInterface(java.net.InetAddress)



getLoopbackMode
public boolean getLoopbackMode() throws SocketException(Code)
Get the setting for local loopback of multicast datagrams.
throws:
  SocketException - if an error occurs while getting the value true if the LoopbackMode has been disabled
since:
   1.4
See Also:   MulticastSocket.setLoopbackMode



getNetworkInterface
public NetworkInterface getNetworkInterface() throws SocketException(Code)
Get the multicast network interface set.
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error. the multicast NetworkInterface currently set
See Also:   MulticastSocket.setNetworkInterface(NetworkInterface)
since:
   1.4



getTimeToLive
public int getTimeToLive() throws IOException(Code)
Get the default time-to-live for multicast packets sent out on the socket.
exception:
  IOException - if an I/O exception occurs whilegetting the default time-to-live value the default time-to-live value
See Also:   MulticastSocket.setTimeToLive(int)



joinGroup
public void joinGroup(InetAddress mcastaddr) throws IOException(Code)
Joins a multicast group. Its behavior may be affected by setInterface or setNetworkInterface.

If there is a security manager, this method first calls its checkMulticast method with the mcastaddr argument as its argument.
Parameters:
  mcastaddr - is the multicast address to join
exception:
  IOException - if there is an error joiningor when the address is not a multicast address.
exception:
  SecurityException - if a security manager exists and its checkMulticast method doesn't allow the join.
See Also:   SecurityManager.checkMulticast(InetAddress)




joinGroup
public void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException(Code)
Joins the specified multicast group at the specified interface.

If there is a security manager, this method first calls its checkMulticast method with the mcastaddr argument as its argument.
Parameters:
  mcastaddr - is the multicast address to join
Parameters:
  netIf - specifies the local interface to receive multicastdatagram packets, or null to defer to the interface set byMulticastSocket.setInterface(InetAddress) or MulticastSocket.setNetworkInterface(NetworkInterface)
exception:
  IOException - if there is an error joiningor when the address is not a multicast address.
exception:
  SecurityException - if a security manager exists and its checkMulticast method doesn't allow the join.
throws:
  IllegalArgumentException - if mcastaddr is null or is aSocketAddress subclass not supported by this socket
See Also:   SecurityManager.checkMulticast(InetAddress)
since:
   1.4




leaveGroup
public void leaveGroup(InetAddress mcastaddr) throws IOException(Code)
Leave a multicast group. Its behavior may be affected by setInterface or setNetworkInterface.

If there is a security manager, this method first calls its checkMulticast method with the mcastaddr argument as its argument.
Parameters:
  mcastaddr - is the multicast address to leave
exception:
  IOException - if there is an error leavingor when the address is not a multicast address.
exception:
  SecurityException - if a security manager exists and its checkMulticast method doesn't allow the operation.
See Also:   SecurityManager.checkMulticast(InetAddress)




leaveGroup
public void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf) throws IOException(Code)
Leave a multicast group on a specified local interface.

If there is a security manager, this method first calls its checkMulticast method with the mcastaddr argument as its argument.
Parameters:
  mcastaddr - is the multicast address to leave
Parameters:
  netIf - specifies the local interface or null to deferto the interface set byMulticastSocket.setInterface(InetAddress) or MulticastSocket.setNetworkInterface(NetworkInterface)
exception:
  IOException - if there is an error leavingor when the address is not a multicast address.
exception:
  SecurityException - if a security manager exists and its checkMulticast method doesn't allow the operation.
throws:
  IllegalArgumentException - if mcastaddr is null or is aSocketAddress subclass not supported by this socket
See Also:   SecurityManager.checkMulticast(InetAddress)
since:
   1.4




send
public void send(DatagramPacket p, byte ttl) throws IOException(Code)
Sends a datagram packet to the destination, with a TTL (time- to-live) other than the default for the socket. This method need only be used in instances where a particular TTL is desired; otherwise it is preferable to set a TTL once on the socket, and use that default TTL for all packets. This method does not alter the default TTL for the socket. Its behavior may be affected by setInterface.

If there is a security manager, this method first performs some security checks. First, if p.getAddress().isMulticastAddress() is true, this method calls the security manager's checkMulticast method with p.getAddress() and ttl as its arguments. If the evaluation of that expression is false, this method instead calls the security manager's checkConnect method with arguments p.getAddress().getHostAddress() and p.getPort(). Each call to a security manager method could result in a SecurityException if the operation is not allowed.
Parameters:
  p - is the packet to be sent. The packet should containthe destination multicast ip address and the data to be sent.One does not need to be the member of the group to sendpackets to a destination multicast address.
Parameters:
  ttl - optional time to live for multicast packet.default ttl is 1.
exception:
  IOException - is raised if an error occurs i.eerror while setting ttl.
exception:
  SecurityException - if a security manager exists and its checkMulticast or checkConnect method doesn't allow the send.
See Also:   DatagramSocket.send
See Also:   DatagramSocket.receive
See Also:   SecurityManager.checkMulticast(java.net.InetAddressbyte)
See Also:   SecurityManager.checkConnect




setInterface
public void setInterface(InetAddress inf) throws SocketException(Code)
Set the multicast network interface used by methods whose behavior would be affected by the value of the network interface. Useful for multihomed hosts.
Parameters:
  inf - the InetAddress
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error.
See Also:   MulticastSocket.getInterface()



setLoopbackMode
public void setLoopbackMode(boolean disable) throws SocketException(Code)
Disable/Enable local loopback of multicast datagrams The option is used by the platform's networking code as a hint for setting whether multicast data will be looped back to the local socket.

Because this option is a hint, applications that want to verify what loopback mode is set to should call MulticastSocket.getLoopbackMode()
Parameters:
  disable - true to disable the LoopbackMode
throws:
  SocketException - if an error occurs while setting the value
since:
   1.4
See Also:   MulticastSocket.getLoopbackMode




setNetworkInterface
public void setNetworkInterface(NetworkInterface netIf) throws SocketException(Code)
Specify the network interface for outgoing multicast datagrams sent on this socket.
Parameters:
  netIf - the interface
exception:
  SocketException - if there is an error in the underlying protocol, such as a TCP error.
See Also:   MulticastSocket.getNetworkInterface()
since:
   1.4



setTimeToLive
public void setTimeToLive(int ttl) throws IOException(Code)
Set the default time-to-live for multicast packets sent out on this MulticastSocket in order to control the scope of the multicasts.

The ttl must be in the range 0 <= ttl <= 255 or an IllegalArgumentException will be thrown.
exception:
  IOException - if an I/O exception occurswhile setting the default time-to-live value
Parameters:
  ttl - the time-to-live
See Also:   MulticastSocket.getTimeToLive()




Fields inherited from java.net.DatagramSocket
final static int ST_CONNECTED(Code)(Java Doc)
final static int ST_CONNECTED_NO_IMPL(Code)(Java Doc)
final static int ST_NOT_CONNECTED(Code)(Java Doc)
int connectState(Code)(Java Doc)
InetAddress connectedAddress(Code)(Java Doc)
int connectedPort(Code)(Java Doc)
static DatagramSocketImplFactory factory(Code)(Java Doc)
DatagramSocketImpl impl(Code)(Java Doc)
static Class implClass(Code)(Java Doc)
boolean oldImpl(Code)(Java Doc)

Methods inherited from java.net.DatagramSocket
public synchronized void bind(SocketAddress addr) throws SocketException(Code)(Java Doc)
public void close()(Code)(Java Doc)
public void connect(InetAddress address, int port)(Code)(Java Doc)
public void connect(SocketAddress addr) throws SocketException(Code)(Java Doc)
void createImpl() throws SocketException(Code)(Java Doc)
public void disconnect()(Code)(Java Doc)
public synchronized boolean getBroadcast() throws SocketException(Code)(Java Doc)
DatagramSocketImpl getImpl() throws SocketException(Code)(Java Doc)
public InetAddress getInetAddress()(Code)(Java Doc)
public InetAddress getLocalAddress()(Code)(Java Doc)
public int getLocalPort()(Code)(Java Doc)
public SocketAddress getLocalSocketAddress()(Code)(Java Doc)
public int getPort()(Code)(Java Doc)
public synchronized int getReceiveBufferSize() throws SocketException(Code)(Java Doc)
public SocketAddress getRemoteSocketAddress()(Code)(Java Doc)
public synchronized boolean getReuseAddress() throws SocketException(Code)(Java Doc)
public synchronized int getSendBufferSize() throws SocketException(Code)(Java Doc)
public synchronized int getSoTimeout() throws SocketException(Code)(Java Doc)
public synchronized int getTrafficClass() throws SocketException(Code)(Java Doc)
public boolean isBound()(Code)(Java Doc)
public boolean isClosed()(Code)(Java Doc)
public boolean isConnected()(Code)(Java Doc)
public synchronized void receive(DatagramPacket p) throws IOException(Code)(Java Doc)
public void send(DatagramPacket p) throws IOException(Code)(Java Doc)
public synchronized void setBroadcast(boolean on) throws SocketException(Code)(Java Doc)
public static synchronized void setDatagramSocketImplFactory(DatagramSocketImplFactory fac) throws IOException(Code)(Java Doc)
public synchronized void setReceiveBufferSize(int size) throws SocketException(Code)(Java Doc)
public synchronized void setReuseAddress(boolean on) throws SocketException(Code)(Java Doc)
public synchronized void setSendBufferSize(int size) throws SocketException(Code)(Java Doc)
public synchronized void setSoTimeout(int timeout) throws SocketException(Code)(Java Doc)
public synchronized void setTrafficClass(int tc) throws SocketException(Code)(Java Doc)

Methods inherited from java.lang.Object
public boolean equals(Object obj)(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.