Java in a Nutshell, 5th Edition [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Java in a Nutshell, 5th Edition [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید


DatagramSocketjava.net

Java 1.0


This class defines a socket that can
receive and send unreliable datagram packets over the network using
the UDP protocol. A

datagram
is a very low-level networking interface: it is simply an array of
bytes sent over the network. A datagram does not implement any kind
of stream-based communication protocol, and there is no connection
established between the sender and the receiver. Datagram packets are
called unreliable because the protocol does not make any attempt to
ensure they arrive or to resend them if they don't.
Thus, packets sent through a DatagramSocket are
not guaranteed to arrive in the order sent or even to arrive at all.
On the other hand, this low-overhead protocol makes datagram
transmission very fast. See Socket and
URL for higher-level interfaces to networking.
This class was introduced in Java 1.0, and was enhanced in Java 1.4
to allow local and remote addresses to be specified using the
protocol-independent SocketAddress class.

send( ) sends a
DatagramPacket tHRough the socket. The packet must
contain the destination address to which it should be sent.
receive( ) waits for data to arrive at the socket
and stores it, along with the address of the sender, in the specified
DatagramPacket. close( ) closes
the socket and frees the local port for reuse. Once close(
) has been called, the DatagramSocket
should not be used again, except to call the isClosed(
) method which returns true if the
socket has been closed.

Each time a packet is sent or received,
the system must perform a security check to ensure that the calling
code has permission to send data to or receive data from the
specified host. In Java 1.2 and later, if you are sending multiple
packets to or receiving multiple packets from a single host, use
connect( ) to specify the host with which you are
communicating. This causes the security check to be done a single
time, but does not allow the socket to communicate with any other
host until disconnect( ) is called. Use
geTRemoteSocketAddress( ) or
getInetAddress( ) and getPort(
) to obtain the network address, if any, that the socket is
connected to. Use isConnected( ) to determine if
the socket is currently connected in this way.

By default, a DatagramSocket sends data through a
local address assigned by the system. If desired, however, you can

bind the socket to a specified local address. Do
this by using one of the constructors other than the no-arg
constructor. Or, bind the DatagramSocket to a
local SocketAddress with the bind(
)
method. You can determine whether a DatagramSocket is bound with
isBound( )


,
and you can obtain the local address of the socket with
getLocalSocketAddress( ) or with
getLocalAddress( ) and getLocalPort(
).

This
class defines a number of get/set method pairs for setting and
querying a variety of "socket
options" for datagram transmission.
setSoTimeout( ) specifies the number of
milliseconds that receive( ) waits for a packet to
arrive before throwing an InterruptedIOException.
Specify 0 milliseconds to wait forever.
setSendBufferSize(
)

and setReceiveBufferSize(
) set hints as to the underlying size of the networking
buffers.


setBroadcast( ), setReuseAddress(
), and setTrafficClass( ) set more
complex socket options; use of these options requires a sophisticated
understanding of low-level network protocols, and an explaination of
them is beyond the scope of this reference.

In Java 1.4 and later, getChannel(
)

returns a
java.nio.channels.DatagramChannel associated with
this DatagramSocket. Sockets created with one of
the DatagramSocket( ) constructors always return
null from this method. getChannel(
) only returns a useful value for sockets that were created
by and belong to a DatagramChannel.

public class

DatagramSocket {
// Public Constructors
public

DatagramSocket ( ) throws SocketException;

1.4 public

DatagramSocket (SocketAddress

bindaddr ) throws SocketException;
public

DatagramSocket (int

port ) throws SocketException;

1.1 public

DatagramSocket (int

port , InetAddress

laddr ) throws SocketException;
// Protected Constructors

1.4 publicprotected

DatagramSocket (DatagramSocketImpl

impl );
// Public Class Methods

1.3 public static void

setDatagramSocketImplFactory (DatagramSocketImplFactory

fac ) throws java.io.IOException; synchronized
// Public Instance Methods

1.4 public void

bind (SocketAddress

addr ) throws SocketException; synchronized
public void

close ( );

1.4 public void

connect (SocketAddress

addr ) throws SocketException;

1.2 public void

connect (InetAddress

address , int

port );

1.2 public void

disconnect ( );

1.4 public boolean

getBroadcast ( )
throws SocketException; synchronized default:true

1.4 public java.nio.channels.DatagramChannel

getChannel ( );
constant default:null

1.2 public InetAddress

getInetAddress ( ); default:null

1.1 public InetAddress

getLocalAddress ( ); default:Inet4Address
public int

getLocalPort ( ); default:32777

1.4 public SocketAddress

getLocalSocketAddress ( ); default:InetSocketAddress

1.2 public int

getPort ( ); default:-1

1.2 public int

getReceiveBufferSize ( )
throws SocketException; synchronized default:32767

1.4 public SocketAddress

getRemoteSocketAddress ( ); default:null

1.4 public boolean

getReuseAddress ( )
throws SocketException; synchronized default:false

1.2 public int

getSendBufferSize ( )
throws SocketException; synchronized default:32767

1.1 public int

getSoTimeout ( ) throws SocketException; synchronized default:0

1.4 public int

getTrafficClass ( ) throws SocketException; synchronized default:0

1.4 public boolean

isBound ( ); default:true

1.4 public boolean

isClosed ( ); default:false

1.4 public boolean

isConnected ( ); default:false
public void

receive (DatagramPacket

p ) throws java.io.IOException; synchronized
public void

send (DatagramPacket

p ) throws java.io.IOException;

1.4 public void

setBroadcast (boolean

on ) throws SocketException; synchronized

1.2 public void

setReceiveBufferSize (int

size ) throws SocketException; synchronized

1.4 public void

setReuseAddress (boolean

on ) throws SocketException; synchronized

1.2 public void

setSendBufferSize (int

size ) throws SocketException; synchronized

1.1 public void

setSoTimeout (int

timeout ) throws SocketException; synchronized

1.4 public void

setTrafficClass (int

tc ) throws SocketException; synchronized
}


Subclasses


MulticastSocket

Returned By


java.nio.channels.DatagramChannel.socket( )


    / 1191