Как имитировать коммутируемое соединение для целей тестирования?

Мне нужно написать серверное приложение, в котором клиенты открывают сокет TCP/IP, отправляют некоторые данные и закрывают соединение.

Пакеты данных небольшие ‹ 100 байт, однако говорят о том, что они объединяют свои транзакции в пакеты и отправляют несколько пакетов.

Как лучше всего имитировать коммутируемое соединение ut (используя компоненты Delphi и Indy, просто к вашему сведению)?

Это так же просто, как

  • открытое соединение
  • подождите некоторое время (что такое определение «какое-то время»?)
  • тесная связь

person Mawg says reinstate Monica    schedule 16.06.2010    source источник
comment
Вы ищете способ проверить, как ваше приложение будет работать по коммутируемой линии, или вы пытаетесь автоматизировать коммутируемое соединение? Если вы хотите автоматизировать часть дозвона и отбоя, вам нужно заглянуть в RAS, это не вещь Indy.   -  person Cosmin Prund    schedule 16.06.2010
comment
Что именно вы хотите? Вы хотите имитировать медленное сетевое соединение, такое как dail-up, или хотите имитировать подключение нескольких клиентов к вашему серверу?   -  person The_Fox    schedule 16.06.2010


Ответы (1)


Вы можете использовать эмулятор сети. Если у вас есть Linux-машина с NISTnet (старый проект но все еще полезно, использовалось несколько лет назад) вы можете создать несколько сценариев, ограничивающих пропускную способность или другие характеристики сетевого взаимодействия. Существует приложение под названием WANEM, которое делает то же самое, но я им не пользовался, поэтому не могу сказать, хорошо это или нет.

Если вам нужна эмуляция модема, вы можете использовать com0com, который обеспечивает именно это.

person Edgar Zavala    schedule 16.06.2010
comment
Ну, я не могу использовать эмулятор n/w, так как мне нужно кодировать приложение, но, возможно, я смогу повторно использовать часть их кода. Я посмотрю на это и вернусь к вам, спасибо. - person Mawg says reinstate Monica; 16.06.2010
comment
Почему нельзя использовать эмулятор сети? Это не имеет ничего общего с тем, как вы программируете свое приложение, это просто то, что происходит между вашим клиентским приложением и вашим серверным приложением. Вы используете его, чтобы сделать вашу быструю офисную сеть медленной (для определенного номера порта). Я использовал другой эмулятор медленного соединения Linux (trickle), чтобы протестировать некоторые из моих сетевых приложений. - person Cosmin Prund; 16.06.2010
comment
Mawg, для тестирования вашей программы в условиях более медленных или ненадежных сетевых подключений Wanem идеально подходит; У меня есть коллеги, которые им пользовались. Почему вы должны кодировать приложение? Разве не должно быть достаточно того, что у вас имеется такое приложение? На самом деле, не должно ли быть лучше получить такое приложение, не тратя время и деньги на его самостоятельное кодирование? Или это домашнее задание? (Если это домашнее задание, вы должны были получить более точное описание требований, например, определение времени.) - person Rob Kennedy; 16.06.2010
comment
Привет, Роб, это не домашняя работа (прошло несколько десятилетий с тех пор, как у меня ничего подобного не было :-) Мне нужно разработать для кого-то тестер, отправляющий конкретные данные и проверяющий ответы. Некоторые из их пользователей до сих пор пользуются коммутируемым доступом. Хотя Ванем отлично выглядит. Спасибо за совет (+1). - person Mawg says reinstate Monica; 21.06.2010