Содержание
- 2. Протокол пользовательских дейтаграмм(UDP) Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные механизмы
- 3. Дейтаграмма Дейтаграмма - это пакет, передаваемый через сеть независимо от других пакетов без установления логического соединения
- 4. Дейтаграмма Дейтаграммы, сами по себе, не содержат средств обнаружения и исправления ошибок передачи, поэтому при передаче
- 5. Использование UDP В отличие от TCP, данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения
- 6. Использование UDP и TCP Альтернатива TCP-UDP позволяет программисту гибко и рационально использовать предоставленные ресурсы, исходя из
- 7. Свойства протокола UDP Ненадежный – UDP не имеет ни встроенного механизма обнаружения ошибок, ни средств повторной
- 8. UDP-сокеты в Java Java обеспечивает работу с дейтаграммами благодаря использованию классов DatagramSocket и DatagramPacket пакета java.net.
- 9. Создание соединения Для того, чтобы создать новое соединение для пересылки дейтаграмм, следует объявить экземпляр класса DatagramSocket,
- 10. Методы класса DatagramSocket Для экземпляров класса DatagramSocket определена группа методов, позволяющих как управлять процессами сетевого соединения,
- 11. Отправка и получение пакетов DatagramPacket. После установки соединения, используя методы send() и receive(), можно выполнить соответственно
- 12. Содержимое дейтаграммы Доступ к содержимому пакета дейтаграммы осуществляется с помощью методов: метод getData(), который возвращает массив
- 13. Методы DatagramPacket Для экземпляра класса DatagramPacket определена группа методов, информирующих и управляющих работой дейтаграммы.. К наиболее
- 14. Исключения В процессе работы с объектами дейтаграмм могут возникать исключительные ситуации, для чего нужно реализовать соответствующую
- 15. Пример создания дейтаграмм Рассмотрим пример, иллюстрирующий использование дейтаграмм. В представленных программах одно приложение выступает в роли
- 16. Программа-сервер import java.net.*; public class DatagramServer extends Thread { byte[] buf = new byte[100]; int port=8008;
- 17. // определяем пакет дейтаграммы DatagramPacket pack=new DatagramPacket(buf,buf.length); while (true) { //получаем дейтаграмму srvsocket.receive(pack); // конвертируем ее
- 18. public static void main(String arg[]) { System.out.println("Datagram server running"); DatagramServer my=new DatagramServer(); my.start(); } }
- 19. Программа-клиент import java.net.*; public class DatagramClient { public static void main(String arg[]) { // объявляем массив
- 20. while (flag) { try { // получаем символ с клавиатуры ch=System.in.read(); // определяем локальный адрес InetAddress
- 21. // посылаем пакет через сокет srvsocket.send(pack); cur=-1; for (int i=0; i } cur++; } catch(Exception e)
- 22. UDP-сокеты в C# Фрагмент программы, ожидающей поступления дейтаграмм using System; using System.Net; using System.Net.Sockets; using System.Text;
- 23. Метод чтения дейтаграммы private static void StartListener() { bool done = false; UdpClient listener = new
- 24. while (!done) { Console.WriteLine("Waiting for broadcast"); byte[] bytes = listener.Receive(ref groupEP); Console.WriteLine("Received broadcast from {0} :\n
- 25. Вызов метода public static int Main(String[] args) { StartListener(); return 0; } }
- 26. Фрагмент программы, посылающей дейтаграмму using System; using System.Net; using System.Net.Sockets; using System.Text; public class UDPMulticastSender {
- 27. Метод, отправляющий дейтаграмму private static void Send( String message) { UdpClient sender = new UdpClient(); IPEndPoint
- 29. Скачать презентацию