Поиск и устранение проблем с интерфейсом TCP/IP-сервера

Протокол управления передачей (TCP) является транспортным протоколом, расположенным на верхнюю часть из Межсетевого протокола (IP) и одним из наиболее широко используемых сетевых протоколов.

Проблема

Если у вас возникли проблемы с подключением к серверу или взаимодействием с ним, попробуйте эти советы по устранению неполадок.

Возможные решения

Поддерживаемые платформы

TCP/IP поддерживаются на следующих платформах:

  • Linux®

  • macOS

  • Windows® 10

Интерфейс сервера TCP/IP поддерживается на тех же платформах, что и MATLAB®. Обновления списка поддерживаемых платформ см. в разделе Системные требования.

Строение и подключение

Убедитесь, что вы можете создать объект сервера TCP/IP. Вы создаете его с помощью tcpserver функция, которая принимает номер порта и дополнительный IP-адрес в качестве входов. Если IP-адрес не указан, сервер может принять клиентское подключение по любому допустимому IP-адресу. IP-адрес, заданный для сервера, должен совпадать с IP-адресом, с которым соединяется клиент.

t = tcpserver("172.28.200.145",4000);
  1. Проверьте, что указанный IP-адрес доступен на вашем компьютере. Чтобы увидеть допустимые IP-адреса для компьютера, выполните следующую команду в MATLAB в Windows.

    !ipconfig
  2. Если вы задаете имя хоста вместо IP-адреса хоста, можно также проверить, что это допустимое имя хоста, используя resolvehost. Если выход пуст, указанное имя узла недопустимо.

    resolvehost("hostname","address")
    ans =
    
        '172.28.200.145'
    
    
  3. Убедитесь, что вы не задаете порт, который уже используется. В сложение можно создать только один объект сервера для заданных комбинации адреса и порта.

  4. Убедитесь, что сетевой адаптер включен и подключен.

Коммуникация

  1. Перед чтением или записью в объект сервера проверьте Connected Свойство, чтобы убедиться, что к нему подключен клиент. Если клиент успешно подключился, значение этого свойства 1 (true).

    t.Connected

    The ClientAddress и ClientPort свойства также предоставляют информацию о клиенте, который соединяется с объектом сервера. Значение ClientAddress должно совпадать со значением ServerAddress.

  2. Проверьте правильный тип данных, например int16, uint16, или double используется с read и write. Используйте тот совпадающий тип данных, что и клиент. Если чтение и запись типов данных, отличных от uint8 или int8, убедитесь, что ByteOrder верно.

См. также

Похожие темы