exponenta event banner

Связь UDP между двумя хостами

Это минимальные шаги, необходимые для взаимодействия между двумя хостами по UDP.

В этом примере показано, как можно использовать объекты UDP для обмена данными между двумя выделенными хостами. В этом примере известны имена как хостов, так и портов, которые они используют для связи друг с другом. Имя одного хоста doejohn.dhpc, с использованием локального порта 8844, и другой хост doetom.dhpc, с использованием локального порта 8866.

  1. Создать объекты интерфейса - создание объекта UDP на каждом хосте, ссылающегося на другой как на удаленный хост.

    На хосте doejohn.dhpc, создать u1. Конструктор объектов указывает имя локального порта, используемого на компьютере, на котором создается этот объект.

    u1 = udpport("LocalPort",8844)
    u1 = 
    
      UDPPort with properties:
    
         IPAddressVersion: "IPV4"
                LocalHost: "0.0.0.0"
                LocalPort: 8844
        NumBytesAvailable: 0
    
      Show all properties, functions
    

    На хосте doetom.dhpc, создать u2. Конструктор объектов указывает имя локального порта и локального узла, которые будут использоваться на компьютере, где создается этот объект.

    u2 = udpport("LocalPort",8866,"LocalHost","doetom.dhpc")
    u2 = 
    
      UDPPort with properties:
    
         IPAddressVersion: "IPV4"
                LocalHost: "172.31.42.41"
                LocalPort: 8866
        NumBytesAvailable: 0
    
      Show all properties, functions
    
  2. Запись и чтение данных - обмен данными между двумя хостами теперь является вопросом отправки и получения данных. Написать сообщение от doejohn.dhpc кому doetom.dhpc.

    На хосте doejohn.dhpc, запись данных на удаленный хост через u1:

    write(u1,"Ready for data transfer.","string","doetom.dhpc",8866)

    На хосте doetom.dhpc, считывать данные, поступающие с удаленного хоста через u2:

    read(u2,u2.NumBytesAvailable,"string")
    ans = 
    
        "Ready for data transfer."
  3. Отключить и очистить - когда вам больше не нужно u1 на хосте doejohn.dhpc, вы должны очистить объект.

    clear u1

    Когда вам больше не нужно u2, очистить объект на хосте doetom.dhpc.

    clear u2

См. также

|

Связанные темы