Протокол управления передачей (TCP; Transmission Control Protocol) - транспортный протокол, расположенный поверх протокола 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
ClientAddress и ClientPort свойства также предоставляют сведения о клиенте, подключенном к объекту сервера. Значение ClientAddress должно соответствовать значению ServerAddress.
Проверьте правильность типа данных, например: int16, uint16, или double используется с read и write. Используйте тот же тип данных, что и клиент. При чтении и записи типов данных, отличных от uint8 или int8, убедитесь, что ByteOrder правильно.