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