14 Aralık 2017 Perşembe

DatagramChannel Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.nio.channels.DatagramChannel;
TCP istemcisi için SocketChannel sınıfı kullanılır. TCP sunucusu için ServerSocketChannel sınıfı kullanılır.

join metodu
Şöyle yaparız.
NetworkInterface ni = NetworkInterface.getByInetAddress(address);
InetAddress group = InetAddress.getByName("239.255.0.1")

DatagramChannel channel = DatagramChannel.open(StandardProtocolFamily.INET)
    .setOption(StandardSocketOptions.SO_REUSEADDR, true)
    .bind(new InetSocketAddress(5000))
    .setOption(StandardSocketOptions.IP_MULTICAST_IF, ni);
MembershipKey key = channel.join(group, ni);
open metodu
Şöyle yaparız.
DatagramChannel channel = DatagramChannel.open();
receive metodu
Şöyle yaparız.
ByteBuffer byteBuffer = ByteBuffer.allocate(1500);
byteBuffer.clear();
InetSocketAddress sa = (InetSocketAddress) channel.receive(byteBuffer);


System.out.println("received from " + sa.getHostString());
socket metodu
Alttaki socket nesnesine erişiriz.
channel.socket().bind(new InetSocketAddress(port));


Hiç yorum yok:

Yorum Gönder