Port Number - что это?

Простейшие вопросы в области инженерной разработки
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Port Number - что это?

Сообщение Ing K »

В функции TCP Open Connection есть вывод с названием Port Number.
Откуда мы берем этот номер порта и что это за номер?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

Номер порта это логический номер канала, по которому будут проходить сообщения. Понимаешь канал не один, как например у последовательного интерфейса, а много (от 0 до 65535). Можно сказать выбирай любой и можешь общаться по этому каналу, но некоторые порты уже официально или неофициально заняты определёнными программами. Только номера портов от 49152 до 65535 вроде бы разрешены для приватного использования.
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

Т.е., я могу написать любое число?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

В принципе да, но оно должно совпадать на обеих концах, иначе один будет посылать данные по одному каналу, а получатель ожидает их по другому.
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

Пересылаю строку на другой компьютер (2 VI - Server и Client) - не пересылает, пишет о переполнении буфера.
Вложения
Server.png
Client.png
TCP File Server.vi
(17.85 КБ) 164 скачивания
TCP File Client.vi
(18.5 КБ) 170 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

А какова длина пересылаемых данных? Длину нужно бы указать например перед посылаемыми данными.Посмотри как я это сделал вот здесь:
/viewtopic.php?f=14&t=328
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

eg, указывать число байт в "Bytes to read"?
Указываю, и не пересылается.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

Да, но так как ты не знаешь заранее сколько байт, ты должен замерить количество байт (String Length) и добавить это число перед данными. А при чтении сначала считать это число и потом уже считывать это количество байт, т.е. сами данные.
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

eg, посмотрю, спасибо.
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

На стороне клиента выдает, что "Not enough memory to complete the operation".
Вложения
Client.png
Server.png
TCP File Client.vi
(20.16 КБ) 176 скачиваний
TCP File Server.vi
(17.64 КБ) 178 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

Потому что клиент не правильно интерпретирует число.
Тебе нужно на стороне сервера преобразовывать число с помощью Type Cast, а не Numeric To String.
Вложения
TCP Port.png
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

eg, сделал.
На data out Type Cast клиента - пустая строка.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Port Number - что это?

Сообщение Eugen Graf »

А ты вписал туда число 4? Посмотри повнимательнее картинку, что я выше выложил и найди там число 4.

И кстати вот ещё что. Обычно сервер ждёт открытия соединения, а клиент пытается открыть, а у тебя наоборот. Ну ето дело хозяйское, так в принципе тоже будет работать.
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

eg, программа заработала!!! Спасибо! :1stplace:
Ing K
user
user
Сообщения: 82
Зарегистрирован: 18 ноя 2008, 13:52
Версия LabVIEW: 8.5
Контактная информация:

Re: Port Number - что это?

Сообщение Ing K »

Отличие этих функций есть? Когда - какая используется?
TCP Listen
Create TCP Listener
TCP Wait on Listener
Ответить

Вернуться в «Для чайников»