Протокол управления передачей (TCP) является транспортным протоколом, разделенным на уровни сверху межсетевого протокола (IP), и является одним из наиболее высоко используемых сетевых протоколов. Можно использовать сетевую коммуникацию сокета, чтобы соединиться с удаленными хостами, чтобы читать и записать данные.
Если вы испытываете затруднения при соединении с или передаче с удаленным хостом, попробуйте эти советы поиска и устранения неисправностей.
TCP/IP поддерживается на этих платформах:
Linux®
macOS
Windows® 10
Интерфейс TCP/IP поддерживается на тех же платформах как MATLAB®. Для обновлений списка в настоящее время поддерживаемых платформ смотрите Системные требования.
Убедитесь, что можно создать объект TCP/IP. Вы создаете объект TCP/IP с tcpclient
функция, которая требует имени удаленного хоста как входной параметр. Также необходимо задать значение удаленного порта.
Каждый объект TCP/IP сопоставлен с одним инструментом. Например, чтобы создать объект TCP/IP для Генератора Sony/Tektronix® AWG520 Arbitrary Waveform, вы используете удаленное имя хоста инструмента и номера порта, который может быть найден в инструментальной документации.
t = tcpclient("sonytekawg.yourdomain.com",4000);
После того, как вы свяжете с устройством, можно связаться с ним. Если отправка и получение не работают, можно проверять следующее:
Убедитесь, что данные отправляются в формате, ожидаемом сервером.
Если вы соединяетесь с веб-сервером, вы можете должны быть отправить HTTP get
или post
команды. Можно также использовать urlread
или webread
функции, чтобы связаться с веб-серверами.
Много серверов TCP/IP ожидают информацию о заголовке в пакете TCP/IP.
Смотрите Запись и чтение данных по Интерфейсу TCP/IP для примера коммуникации по TCP/IP.
Можно также использовать visa
интерфейс с ресурсом TCP/IP VISA называет вместо tcpclient
интерфейс для связи TCP/IP с инструментами.
Убедитесь правильный тип данных — например, int16
uint16
'double'
— используется с read
и write
. Используйте совпадающий тип данных в качестве инструмента. При чтении и записывании данные типы кроме uint8
или int8
, убедитесь ByteOrder
правильно.