Протокол управления передачей (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);Проверьте, что указанный IP-адрес доступен на вашем компьютере. Чтобы увидеть допустимые IP-адреса для компьютера, выполните следующую команду в MATLAB в Windows.
!ipconfigЕсли вы задаете имя хоста вместо IP-адреса хоста, можно также проверить, что это допустимое имя хоста, используя resolvehost. Если выход пуст, указанное имя узла недопустимо.
resolvehost("hostname","address")
ans =
'172.28.200.145'
Убедитесь, что вы не задаете порт, который уже используется. В сложение можно создать только один объект сервера для заданных комбинации адреса и порта.
Убедитесь, что сетевой адаптер включен и подключен.
Перед чтением или записью в объект сервера проверьте Connected Свойство, чтобы убедиться, что к нему подключен клиент. Если клиент успешно подключился, значение этого свойства 1 (true).
t.Connected
The ClientAddress и ClientPort свойства также предоставляют информацию о клиенте, который соединяется с объектом сервера. Значение ClientAddress должно совпадать со значением ServerAddress.
Проверьте правильный тип данных, например int16, uint16, или double используется с read и write. Используйте тот совпадающий тип данных, что и клиент. Если чтение и запись типов данных, отличных от uint8 или int8, убедитесь, что ByteOrder верно.