exponenta event banner

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

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

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

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

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

    u1 = udp('doetom.dhpc', 'RemotePort', 8866, 'LocalPort', 8844)

    На хосте doetom.dhpc создайте u2:

    u2 = udp('doejohn.dhpc', 'RemotePort', 8844, 'LocalPort', 8866)
  2. Соединитесь объекты — Открывают оба объекта UDP, так, чтобы каждый мог связаться с другим хостом.

    На хосте doejohn.dhpc откройте u1:

    fopen(u1)

    На хосте doetom.dhpc откройте u2:

    fopen(u2)
  3. Запишите и считайте данные — Связь между двумя хостами является теперь вопросом отправки и получения данных. Запишите сообщение от doejohn.dhpc до doetom.dhpc.

    На хосте doejohn.dhpc запишите данные к удаленному хосту через u1:

    fprintf(u1, 'Ready for data transfer.')

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

    fscanf(u2)
    ans =
    Ready for data transfer.
  4. Разъединитесь и вымойтесь — Когда вам больше не нужен u1 на хосте doejohn.dhpc, необходимо отключить его и удалить его из памяти и из рабочей области MATLAB®.

    fclose(u1)
    delete(u1)
    clear u1

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

    fclose(u2)
    delete(u2)
    clear u2