crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
borune
  опции профиля:
сообщение 8.10.2013, 11:21
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ребят, добрый день!

Имеется задача организовать тестирование сети на потери пакетов. Процесс тестирования осуществляется одновременным обменом сообщениями между всеми узлами сети с использованием QTcpSocket. Каждый узел должен фиксировать статистику, т.е. иметь две таблицы, в первой указывается что и кому он отправил, во второй - что и от кого он получил.

Как отправлять пакеты понятно - создаем потоки, в каждом потоке создаем сокет, подключаемся к целевому узлу (его адрес известен), и начинаем слать пакеты. А вот с чтением не очень понятно. Если у узла один сетевой интерфейс, то все более-менее ясно - запускаем сервер, ждем входящего подключения, при его наличии создаем сокет и читаем из него данные. А вот если у узла несколько сетевых интерфейсов, как в этом случае быть? Может я что-то упустил из документации, но у QTcpServer'a вроде бы нет параметра, указывающего на каком адресе он запускается. Он что, сразу все подключения ко всем интерфейсам перехватывает?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Trisch
  опции профиля:
сообщение 8.10.2013, 12:27
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 379
Регистрация: 30.1.2012
Из: Запорожье
Пользователь №: 3169

Спасибо сказали: 24 раз(а)




Репутация:   0  


А что несколько сетевых интерфейсов имеют один адрес?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 8.10.2013, 12:46
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Trisch @ 8.10.2013, 13:27) *
А что несколько сетевых интерфейсов имеют один адрес?

Нет, у всех адаптеров адреса разные.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Yuriy
  опции профиля:
сообщение 11.10.2013, 12:13
Сообщение #4


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 8.10.2013
Пользователь №: 3949

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(borune @ 8.10.2013, 12:21) *
А вот если у узла несколько сетевых интерфейсов, как в этом случае быть? Может я что-то упустил из документации, но у QTcpServer'a вроде бы нет параметра, указывающего на каком адресе он запускается. Он что, сразу все подключения ко всем интерфейсам перехватывает?

Упустили:
bool QTcpServer::listen ( const QHostAddress & address = QHostAddress::Any, quint16 port = 0 )
Tells the server to listen for incoming connections on address address and port port. If port is 0, a port is chosen automatically. If address is QHostAddress::Any, the server will listen on all network interfaces.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
borune
  опции профиля:
сообщение 12.10.2013, 21:12
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 152
Регистрация: 1.1.2011
Пользователь №: 2314

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Yuriy @ 11.10.2013, 13:13) *
Цитата(borune @ 8.10.2013, 12:21) *
А вот если у узла несколько сетевых интерфейсов, как в этом случае быть? Может я что-то упустил из документации, но у QTcpServer'a вроде бы нет параметра, указывающего на каком адресе он запускается. Он что, сразу все подключения ко всем интерфейсам перехватывает?

Упустили:
bool QTcpServer::listen ( const QHostAddress & address = QHostAddress::Any, quint16 port = 0 )
Tells the server to listen for incoming connections on address address and port port. If port is 0, a port is chosen automatically. If address is QHostAddress::Any, the server will listen on all network interfaces.


Да, спасибо, прочел невнимательно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 2.5.2025, 18:47