|
|
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Delphi XE8 Никогда не работал с сокетами и планирую написать такую программу: клиент подключается через TCP (IP+port) к серверу и передает ему файл. Сервер принимает файл и сохраняет себе в папку. Планирую использовать блокирующие сокеты, поточный режим передачи данных (TCP). Думаю использовать Synapse, т.к. они у меня есть и показали себя отлично. Ну если вы не используете Synapse, не беда, думаю что принцип работы сокетов один. Вообщем, мне нужно, чтобы сервер слушал порт и был готов принимать файлы от разных клиентов параллельно. Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread. Например, один клиент в данный момент передает файл/сервер принимает. Подключается 2-й клиент и тоже начинает передачу файла и так могут подключиться 5-10 клиентов... Вопросы: 1) Сколько портов нужно для передачи файла одним клиентом? Полагаю, что нужно 2 порта (один для команд, другой для потока бинарных данных. Правильно? 2) Сколько портов нужно для передачи файлов 2-мя клиентами одновременно? 3) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:09:23 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
почему бы не поставить на сервер готовое решение? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:11:38 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
m52, на все достаточно одного порта. На сервере сокет порт слушает, как к нему клиенты стучатсят. Если клиент "правильный" - клонируешь сокет и отдаешь его в нитььобработки. Самая простая схема - одна нить на одного клиента, тут хоть блокирующее чтение используй, хоть какое. Можно усложнить код, сэкономив на числе нитей и используя асинхронное чтение. Проще всего руками сделать, без синапсов. В любой книжке по сетевому кодированию для тисипи описаны стандартные схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:20:28 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийпочему бы не поставить на сервер готовое решение? +1, ТС хренью занимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:21:40 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread Совсем не обязательно. Сколько портов нужно для передачи файла одним клиентом? Полагаю, что нужно 2 порта (один для команд, другой для потока бинарных данных. Правильно? Не нужно косплеить FTP, не заслуживает он. Тот же HTTP все делает через один порт. Сколько портов нужно для передачи файлов 2-мя клиентами одновременно? Прослушивающий нужен один для любого количества клиентов. Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами? 1025-65535 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:23:23 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
misha mike1025-65535Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больно m523) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами?Самое главное - нужно предусмотреть возможность изменения номера порта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:37:32 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Я тестирую доступность порта на сервере (сервер сам себе сообщение шлет, и если после запуска в течении 3 сек сервер не получает сообщения, то "все"), и номер его в конфиге прописываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 14:42:16 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больно Всегда можно найти такую фигню, все равно всего не учтешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 16:01:04 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
misha mike1025-65535 1024-49151 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 16:19:20 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 16:57:16 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :) Это уже проблемы админа. ... PS: в "сетевой" версии Guardant, сервер периодически разбрасывается UDP пакетами, содержащими свои идентификационные данные. Если клиент за какое-то время не смог приконнектиться к серверу по дефолт-параметрам, он пробует приконнектиться по параметрам, которые получил в UPD - сообщении. В случае удачи клиент автоматом корректирует конфиг. Ну да, возможны проблемы. но часто жизнь облегчает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:17:42 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
m52Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread.Помрёт твой сервер от переизбытка чувств Thread'ов ... а ещё многим клиентам дозволено может быть только http ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:21:10 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_чччДи номер его в конфиге прописываю.Осталось только клиенту конфиг отдать :) Еще видел: при инсталляции сервера создается отдельная "расшаренная" сетевая папка, содержащая инсталлятор клиента, в эту же папку вкладывается сконфигурированный (при инсталляции или "руками") конфиг (). Клиентам рекомендуется инсталлироваться, используя инсталлятор из этой "расшаренной" папки. Т.е., скорее всего, клиент сразу получит "правильный" конфиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:23:47 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Bred eFeMm52Т.е. как только клиент подключается к серверу, сервер для приема файла создает отдельный Thread.Помрёт твой сервер от переизбытка чувств Thread'ов ... Ерунда. Он написал, что у него 5-10 клиентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 17:25:12 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
5-10 - время интегрирования не указано. чччД, а доброжилателей сколько ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 18:54:57 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
авторМимопроходящий, почему бы не поставить на сервер готовое решение?Что за готовое решение? Приведите пример. авторчччД, Если клиент "правильный" - клонируешь сокет и отдаешь его в нитььобработки.В каком смысле правильный? Как клонировать сокет? Хорошо бы пример. авторчччД, Проще всего руками сделать, без синапсов.Какие компоненты использовать? Или вообще без компонент? Пример бы или назовите классы, которыми сделать, если без синапсов. И еще, как можно обойтись одним портом для передачи нескольких файлов одновременно разными нитями? Благодаря клонированию сокета? автор_Vasilisk_ Когда-то заюзали 2000 порт, а потом оказалось, что он используется кисками. И не перенастраивается ни у них, ни у нас. Было больноВот я почему и спросил про диапазон портов. Конечно, я в программе сделаю возможность изменения порта, но по-умолчанию хочу сделать такой номер, который с минимальной вероятностью будет использоваться другими программами. авторчччД, Я тестирую доступность порта на сервере (сервер сам себе сообщение шлет, и если после запуска в течении 3 сек сервер не получает сообщения, то "все"), и номер его в конфиге прописываю.Если после запуска в течении 3 сек сервер не получает, то порт занят наверное, а если отправил и принял успешно, то порт свободен? авторBred eFeM, Помрёт твой сервер от переизбытка чувств Thread'ов ... а ещё многим клиентам дозволено может быть только httpОдновременно работающих потоков будет мало, чаще всего 1, ну максимум 5. А что значит, многим клиентам дозволено может быть только http? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 19:18:11 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
- Одновременно работающих потоков будет мало, чаще всего 1, ну максимум 5. а если я тебе несколько тысяч фейковых за секунду нагенерю? - А что значит, многим клиентам дозволено может быть только http? ну, есть прокси, и всё и вся только через него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 19:30:57 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
m52, ну, давай я за тебя книжку поищу... вжжжжжжжжжжжжжууууууууууухххххххххх... нашел! Джонс Э., Оланд Д. Программирование в сетях Microsoft Windows. ... нет, нет, это же не Delphi! Ищем упорнее: вжжжжжжжжжжжжжууууууууууухххххххххх!!! Есть! Книжка: "О чём не пишут в книгах по Delphi" . Глава (2-я): Сокеты Windows . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 19:59:26 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
m523) Какой диапазон портов лучше всего использовать, чтобы не было проблем с брендмауэрами и другими программами? https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 20:12:35 |
|
||
|
Сокеты (клиент и сервер). Сколько нужно портов?
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за ссылки. По-изучаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2017, 07:51:43 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39493127&tid=2041994]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 352ms |

| 0 / 0 |
