Протокол управления передачей (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
верно.