Kelas Java DatagramSocket mewakili sejenis soket rangkaian yang tanpa sambungan dan digunakan untuk menghantar paket datagram dan menerima paket datagram; untuk penghantaran mana-mana paket, soket datagram ialah titik penghantaran dan penerimaan perkhidmatan, dan setiap paket yang dihantar atau diterima menggunakan soket datagram dialamatkan secara individu dan kemudian dihalakan ke destinasi, dan jika berbilang paket dihantar antara dua mesin, penghalaan paket mungkin berbeza, dan ia boleh tiba dalam sebarang susunan, dan pilihan SO_BROADCAST didayakan dalam soket datagram yang baru dibina yang membolehkan penghantaran gambar rajah siaran.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks
Sintaks java DatagramSocket adalah seperti berikut:
DatagramSocket variable_name = new DatagramSocket();
Pertimbangkan program di bawah untuk menghantar dan menerima paket datagram dengan menggunakan kelas DatagramSocket:
Kod:
//Java program to send datagram packets using DatagramSocket class import java.net.*; public class Sender { public static void main(String[] args) throws Exception { DatagramSocket datasoc = new DatagramSocket(); String strn = "Welcome to DatagramSocket class"; InetAddress ipaddr = InetAddress.getByName("127.0.0.1"); DatagramPacket dpac = new DatagramPacket(strn.getBytes(), strn.length(), ipaddr, 3000); datasoc.send(dpac); datasoc.close(); } } //Java program to receive datagram packets using DatagramSocket class import java.net.*; public class Receiver { public static void main(String[] args) throws Exception { DatagramSocket datasoc = new DatagramSocket(3000); byte[] buff = new byte[1024]; DatagramPacket dpac = new DatagramPacket(buff, 1024); datasoc.receive(dpac); String strn = new String(dpac.getData(), 0, dpac.getLength()); System.out.println(strn); datasoc.close(); } }
Output:
Penjelasan: Dalam program di atas, dua set program dicipta: menghantar paket data menggunakan kelas DatagramSocket dan satu untuk menerima paket data menggunakan kelas DatagramSocket. Dalam program untuk menghantar paket data menggunakan kelas DatagramSocket, contoh kelas DatagramSocket dicipta. Kemudian rentetan diberikan kepada strn pembolehubah. Kemudian alamat IP internet diberikan kepada pembolehubah. Kemudian, paket datagram dibuat dan kaedah hantar kelas DatagramSocket digunakan untuk menghantar paket data ke alamat IP destinasi.
Dalam program untuk menerima paket data menggunakan kelas DatagramSocket, contoh kelas DatagramSocket dicipta. Kemudian contoh kelas bait dicipta. Kemudian, paket datagram dicipta dan kaedah terima kelas DatagramSocket digunakan untuk menerima paket data ke alamat IP sumber.
Terdapat beberapa pembina kelas DatagramSocket. Mereka ialah:
Di bawah adalah contoh yang disebutkan:
Tunjukkan penggunaan pelbagai kaedah kelas DatagramScoket.
Kod:
import java.io.IOException; import java.net.DatagramSocket; public class program { public static void main(String[] args) throws IOException { //Datagram Socket class Constructor is called DatagramSocket sock = new DatagramSocket(1235); // The method setSendBufferSize() method of datagram socket class is called sock.setSendBufferSize(20); // The method getSendBufferSize() method of datagram socket class is called System.out.println("The buffer size sent is : " + sock.getSendBufferSize()); // The method setReceiveBufferSize() method of datagram socket class is called sock.setReceiveBufferSize(20); // The method getReceiveBufferSize() method of datagram socket class is called System.out.println("The buffer size received is : " + sock.getReceiveBufferSize()); // The method setReuseAddress() method of datagram socket class is called sock.setReuseAddress(false); // The method getReuseAddress() method of datagram socket class is called System.out.println("The SetReuse address is set to : " + sock.getReuseAddress()); // The method setBroadcast() method of datagram socket class is called sock.setBroadcast(true); // The method getBroadcast() method of datagram socket class is called System.out.println("The setBroadcast is set to : " + sock.getBroadcast()); // The method setTrafficClass() method of datagram socket class is called sock.setTrafficClass(45); // The method getTrafficClass() method of datagram socket class is called System.out.println("The Traffic class is set to : " + sock.getTrafficClass()); // The method getChannel() method of datagram socket class is called System.out.println("The Channel is set to : " + ((sock.getChannel()!=null)?sock.getChannel():"null")); // The method setSocketImplFactory() method of datagram socket class is called sock.setDatagramSocketImplFactory(null); // The method close() method of datagram socket class is called sock.close(); // The method isClosed() method of datagram socket class is called System.out.println("If the Socket Is Closed : " + sock.isClosed()); } }
Output:
Penjelasan: Dalam atur cara di atas, kelas yang dipanggil atur cara ditakrifkan. Kemudian contoh kelas soket datagram dicipta. Kaedah setSendBufferSize() kaedah kelas soket datagram dipanggil, yang menghantar saiz penimbal. Kemudian kaedah getSendBufferSize() kelas soket datagram dipanggil, yang menerima saiz penimbal.
Kemudian kaedah setReceiveBufferSize() kelas soket datagram dipanggil, dan kemudian kaedah getReceiveBufferSize() kaedah kelas soket datagram dipanggil, yang digunakan untuk menghantar dan menerima saiz penimbal. Kemudian kaedah setReuseAddress() kaedah kelas soket datagram dipanggil, dan kaedah getReuseAddress() kaedah kelas soket datagram dipanggil untuk menghantar dan menerima alamat yang digunakan semula.
Kemudian kaedah setBroadcast() kaedah kelas soket datagram dipanggil, dan kemudian kaedah getBroadcast() kaedah kelas soket datagram dipanggil untuk menetapkan dan mendapatkan siaran. Kemudian kaedah setTrafficClass() kelas soket datagram dipanggil, dan kaedah getTrafficClass() kaedah kelas soket datagram dipanggil untuk menetapkan dan mendapatkan kelas trafik.
Kemudian kaedah getChannel() kelas soket datagram dipanggil, yang mengembalikan benar atau salah. Kemudian kaedah kaedah close() kelas soket datagram dipanggil untuk menutup soket. Kemudian kaedah isClosed() bagi kelas soket datagram dipanggil untuk menyemak sama ada soket ditutup atau tidak, dan ia mengembalikan nilai benar jika soket ditutup sebaliknya palsu.
Dalam tutorial ini, kami memahami konsep kelas DatagramSocket dalam Java melalui definisi, sintaks kelas DatagramSocket dalam Java, kerja kelas DatagramSocket dalam Java melalui contoh dan outputnya.
Atas ialah kandungan terperinci Java DatagramSocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!