معرفی
در حال حاضر، ما از تعیین یک مقصد اینترنتی با کمک نمونه های کلاس InetAddress اطلاع داریم، اما سوال اینجاست که چگونه می توان با سیستم های راه دور ارتباط برقرار کرد؟ مشکل از چند طریق از طریق بسته java.net حل می شود.
بیایید ببینیم چگونه می توانیم با استفاده از دیتاگرام UDP با سیستم های راه دور ارتباط برقرار کنیم. نمی توان تضمین کرد که دیتاگرام های ارسالی یا دریافتی به مقصد می رسند. UDP عمدتاً برای زمانی مفید است که می خواهید اطلاعات کم ارزش را به طور مکرر پخش یا انتقال دهید، بنابراین از دست دادن ارتباط گهگاهی بر سرویس تأثیر نمی گذارد. برای تحویل تضمینی داده ها از TCP استفاده می شود.
بسته java.net دو کلاس به نام های DatagramPacket و DatagramSocket را ارائه می دهد که توسط آنها می توانید با سیستم های راه دور ارتباط برقرار کنید.
کلاس DatagramPacket
بسته های دیتاگرام برای پیاده سازی یک سرویس تحویل بسته بدون اتصال استفاده می شود. کلاس DatagramPacket دو سازنده تعریف می کند که به شما امکان می دهد بسته های دیتاگرام ایجاد کنید.
DatagramPacket (بایت[] buf، طول int)
یک DatagramPacket برای دریافت بسته های طولی بسازید
DatagramPacket (بایت[] buf، طول int، آدرس InetAddress، پورت int)
یک بسته دیتاگرام برای ارسال بسته هایی با طول به شماره پورت مشخص شده در میزبان مشخص شده می سازد.
اولین سازنده برای دریافت داده ها از طریق DatagramSocket استفاده می شود.
DatagramPacket (بافر بایت، اندازه int)
سازنده دوم برای انتقال دیتاگرام استفاده می شود. این سازنده به آدرس ماشین مقصد و شماره پورت جدا از بافر و پارامترهای اندازه نیاز دارد.
DatagramPacket (بافر بایت، اندازه int، مقصد InetAddress، پورت int)
سایر روش های تعریف شده در کلاس DatagramPacket برای دسترسی به وضعیت داخلی بسته دیتاگرام استفاده می شود.
InetAddress getAddress()