Протокол управления передачей (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
ClientAddress и ClientPort свойства также предоставляют информацию о клиенте, который соединяется с серверный объектом. Значение ClientAddress должен совпадать со значением ServerAddress.
Убедитесь правильный тип данных, такой как int16uint16, или double используется с read и write. Используйте совпадающий тип данных в качестве клиента. При чтении и записывании данные типы кроме uint8 или int8, убедитесь ByteOrder правильно.