powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сокеты (клиент и сервер). Сколько нужно портов?
21 сообщений из 21, страница 1 из 1
Сокеты (клиент и сервер). Сколько нужно портов?
    #39492965
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

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

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

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

Вопросы:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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


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