Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сокеты (клиент и сервер). Сколько нужно портов? / 21 сообщений из 21, страница 1 из 1
21.07.2017, 14:09:23
    #39492965
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Здравствуйте,

Delphi XE8
Никогда не работал с сокетами и планирую написать такую программу: клиент подключается через TCP (IP+port) к серверу и передает ему файл. Сервер принимает файл и сохраняет себе в папку.

Планирую использовать блокирующие сокеты, поточный режим передачи данных (TCP). Думаю использовать Synapse, т.к. они у меня есть и показали себя отлично. Ну если вы не используете Synapse, не беда, думаю что принцип работы сокетов один.

Вообщем, мне нужно, чтобы сервер слушал порт и был готов принимать файлы от разных клиентов параллельно. Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread. Например, один клиент в данный момент передает файл/сервер принимает. Подключается 2-й клиент и тоже начинает передачу файла и так могут подключиться 5-10 клиентов...

Вопросы:

1) Сколько портов нужно для передачи файла одним клиентом? Полагаю, что нужно 2 порта (один для команд, другой для потока бинарных данных. Правильно?

2) Сколько портов нужно для передачи файлов 2-мя клиентами одновременно?

3) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами?

Заранее благодарен.
...
Рейтинг: 0 / 0
21.07.2017, 14:11:38
    #39492966
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
почему бы не поставить на сервер готовое решение?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.07.2017, 14:20:28
    #39492969
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
m52,
на все достаточно одного порта.
На сервере сокет порт слушает, как к нему клиенты стучатсят. Если клиент "правильный" - клонируешь сокет и отдаешь его в нитььобработки. Самая простая схема - одна нить на одного клиента, тут хоть блокирующее чтение используй, хоть какое. Можно усложнить код, сэкономив на числе нитей и используя асинхронное чтение.
Проще всего руками сделать, без синапсов. В любой книжке по сетевому кодированию для тисипи описаны стандартные схемы.
...
Рейтинг: 0 / 0
21.07.2017, 14:21:40
    #39492970
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Мимопроходящийпочему бы не поставить на сервер готовое решение?

+1, ТС хренью занимается.
...
Рейтинг: 0 / 0
21.07.2017, 14:23:23
    #39492971
misha mike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread
Совсем не обязательно.

Сколько портов нужно для передачи файла одним клиентом? Полагаю, что нужно 2 порта (один для команд, другой для потока бинарных данных. Правильно?
Не нужно косплеить FTP, не заслуживает он. Тот же HTTP все делает через один порт.

Сколько портов нужно для передачи файлов 2-мя клиентами одновременно?
Прослушивающий нужен один для любого количества клиентов.

Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами?
1025-65535
...
Рейтинг: 0 / 0
21.07.2017, 14:37:32
    #39492981
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
misha mike1025-65535Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больно
m523) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами?Самое главное - нужно предусмотреть возможность изменения номера порта
...
Рейтинг: 0 / 0
21.07.2017, 14:42:16
    #39492987
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Я тестирую доступность порта на сервере (сервер сам себе сообщение шлет, и если после запуска в течении 3 сек сервер не получает сообщения, то "все"), и номер его в конфиге прописываю.
...
Рейтинг: 0 / 0
21.07.2017, 16:01:04
    #39493029
misha mike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
_Vasilisk_Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больно
Всегда можно найти такую фигню, все равно всего не учтешь.
...
Рейтинг: 0 / 0
21.07.2017, 16:19:20
    #39493045
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
misha mike1025-65535
1024-49151
...
Рейтинг: 0 / 0
21.07.2017, 16:57:16
    #39493074
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :)
...
Рейтинг: 0 / 0
21.07.2017, 17:17:42
    #39493082
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
_Vasilisk_чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :)
Это уже проблемы админа.
...
PS: в "сетевой" версии Guardant, сервер периодически разбрасывается UDP пакетами, содержащими свои идентификационные данные. Если клиент за какое-то время не смог приконнектиться к серверу по дефолт-параметрам, он пробует приконнектиться по параметрам, которые получил в UPD - сообщении. В случае удачи клиент автоматом корректирует конфиг. Ну да, возможны проблемы. но часто жизнь облегчает.
...
Рейтинг: 0 / 0
21.07.2017, 17:21:10
    #39493084
Bred eFeM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
m52Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread.Помрёт твой сервер от переизбытка чувств Thread'ов ... а ещё многим клиентам дозволено может быть только http
...
Рейтинг: 0 / 0
21.07.2017, 17:23:47
    #39493085
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
_Vasilisk_чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :)
Еще видел: при инсталляции сервера создается отдельная "расшаренная" сетевая папка, содержащая инсталлятор клиента, в эту же папку вкладывается сконфигурированный (при инсталляции или "руками") конфиг (). Клиентам рекомендуется инсталлироваться, используя инсталлятор из этой "расшаренной" папки. Т.е., скорее всего, клиент сразу получит "правильный" конфиг.
...
Рейтинг: 0 / 0
21.07.2017, 17:25:12
    #39493086
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Bred eFeMm52Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread.Помрёт твой сервер от переизбытка чувств Thread'ов ...
Ерунда. Он написал, что у него 5-10 клиентов.
...
Рейтинг: 0 / 0
21.07.2017, 18:54:57
    #39493127
Bred eFeM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
5-10 - время интегрирования не указано.

чччД, а доброжилателей сколько ?
...
Рейтинг: 0 / 0
21.07.2017, 19:18:11
    #39493134
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
авторМимопроходящий,
почему бы не поставить на сервер готовое решение?Что за готовое решение? Приведите пример.

авторчччД,
Если клиент "правильный" - клонируешь сокет и отдаешь его в нитььобработки.В каком смысле правильный? Как клонировать сокет? Хорошо бы пример.

авторчччД,
Проще всего руками сделать, без синапсов.Какие компоненты использовать? Или вообще без компонент? Пример бы или назовите классы, которыми сделать, если без синапсов. И еще, как можно обойтись одним портом для передачи нескольких файлов одновременно разными нитями? Благодаря клонированию сокета?

автор_Vasilisk_
Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больноВот я почему и спросил про диапазон портов. Конечно, я в программе сделаю возможность изменения порта, но по-умолчанию хочу сделать такой номер, который с минимальной вероятностью будет использоваться другими программами.

авторчччД,
Я тестирую доступность порта на сервере (сервер сам себе сообщение шлет, и если после запуска в течении 3 сек сервер не получает сообщения, то "все"), и номер его в конфиге прописываю.Если после запуска в течении 3 сек сервер не получает, то порт занят наверное, а если отправил и принял успешно, то порт свободен?

авторBred eFeM,
Помрёт твой сервер от переизбытка чувств Thread'ов ... а ещё многим клиентам дозволено может быть только httpОдновременно работающих потоков будет мало, чаще всего 1, ну максимум 5. А что значит, многим клиентам дозволено может быть только http?
...
Рейтинг: 0 / 0
21.07.2017, 19:30:57
    #39493136
Bred eFeM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
- Одновременно работающих потоков будет мало, чаще всего 1, ну максимум 5.

а если я тебе несколько тысяч фейковых за секунду нагенерю?


- А что значит, многим клиентам дозволено может быть только http?

ну, есть прокси, и всё и вся только через него.
...
Рейтинг: 0 / 0
21.07.2017, 19:59:26
    #39493144
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
m52,

ну, давай я за тебя книжку поищу... вжжжжжжжжжжжжжууууууууууухххххххххх... нашел!

Джонс Э., Оланд Д. Программирование в сетях Microsoft Windows. ... нет, нет, это же не Delphi!

Ищем упорнее: вжжжжжжжжжжжжжууууууууууухххххххххх!!! Есть!

Книжка: "О чём не пишут в книгах по Delphi" .
Глава (2-я): Сокеты Windows .
...
Рейтинг: 0 / 0
21.07.2017, 20:12:35
    #39493149
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
m523) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами?


https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP
...
Рейтинг: 0 / 0
22.07.2017, 07:51:43
    #39493250
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
Спасибо всем за ссылки. По-изучаю.
...
Рейтинг: 0 / 0
24.07.2017, 14:23:17
    #39493974
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сокеты (клиент и сервер). Сколько нужно портов?
m52Мимопроходящийпочему бы не поставить на сервер готовое решение?
> Что за готовое решение? Приведите пример.SFTP, SCP, FTP, WebDAV и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сокеты (клиент и сервер). Сколько нужно портов? / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]