Russian Qt Forum
Ноябрь 23, 2024, 15:29
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
Передача файла по tcp.Подключение к сервере
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Передача файла по tcp.Подключение к сервере (Прочитано 6920 раз)
winneru
Гость
Передача файла по tcp.Подключение к сервере
«
:
Январь 22, 2010, 12:54 »
Здравствуйте.Подскажите,пожалуйста.При использовании метода connectToHost,необходимо указать ip-адрес хоста и номер порта.Но дело в том что номер порта каждый раз изменяется и если порт не тот то соединения не происходит.Как можно заранее узнать номер порта компьютера,к которому подключаешься.Или может быть можно заранее установить его фиксированным.Вся пргограмма работает,а вот соединиться не получается.Заранее благодарен
Записан
BRE
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #1 :
Январь 22, 2010, 12:55 »
А кто устанавливает номер порта?
Вот с ним и нужно "договариваться".
Записан
winneru
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #2 :
Январь 22, 2010, 13:00 »
Номер порта устанавливается в программе.Только вот какой метод использовать для того чтобы сделать его фиксированным а не динамическим.
Записан
BRE
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #3 :
Январь 22, 2010, 13:02 »
Цитата: winneru от Январь 22, 2010, 13:00
Номер порта устанавливается в программе.Только вот какой метод использовать для того чтобы сделать его фиксированным а не динамическим.
В какой программе? По какому протоколу эта программа работает?
Возможно, она сообщает клиенту, на каком порту будет ждать подключения.
Записан
winneru
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #4 :
Январь 22, 2010, 13:13 »
Программа которую я написал работает по tcp.Я выложу код только немного позже.При нажатии на кнопку "Отправить файл" происходит вызов метода connectToHost, в котором уже необходимо указать порт.Если не совсем ясно,я могу выложить код,только немного позже
Записан
BRE
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #5 :
Январь 22, 2010, 13:18 »
Код пока не нужен.
Интересует, кто и как выбирает порт на другой стороне. Почему и для чего он его назначает всегда разным.
Что бы клиент мог работать с сервером, они должны общаться на одном языке (протоколе) и ты должен к моменту подключения уже знать к какому порту ты будешь подключаться.
Записан
winneru
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #6 :
Январь 22, 2010, 13:29 »
На данный момент у меня записано:connectToHost(QHostAddress:LocalHost,tcpServer.localPort()).И с LocalHost программа общается нормально,т.к. порт определяется заранее,заданным способом.Но когда я делал отладку,то заметил что результат,возвращаемый localPort() все время разный,а точнее после каждой передачи увеличивается на 2.Прошу пожалуйста меня извинить если я что то непонимаю из за собственной непросвященности.
Записан
DS_tm
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #7 :
Январь 22, 2010, 13:32 »
Как я понимаю проблему, автор сам создал сервер на том же Qt. Если так, то на стороне сервера надо явно указывать порт. То есть при вызове функции listen, первым параметром передаем какие интерфейсы прослушивать, а вторым номер порта. Например:
Код
C++ (Qt)
QTcpServer
*
server
=
new
QTcpServer
;
server
->
listen
(
QHostAddress
::
Any
,
10000
)
;
Тогда сервер всегда будет ожидать подключения по 10000 порту.
Записан
winneru
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #8 :
Январь 22, 2010, 13:37 »
То есть достаточно этой строчки и я смогу постоянно обращаться к серверу по указанному порту?
Записан
DS_tm
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #9 :
Январь 22, 2010, 14:12 »
Ну если я правильно понял проблему, то да.
Записан
winneru
Гость
Re: Передача файла по tcp.Подключение к сервере
«
Ответ #10 :
Январь 22, 2010, 14:19 »
Огромнейшее спасибо
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...