Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2017, 21:20   #11
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Подскажите, мне очень интересно. В интернете я такой инфы не нашел
Legeardo вне форума Ответить с цитированием
Старый 12.01.2017, 22:15   #12
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Да, при необходимости сервер открывает доп. порт, а потом закрывает.
p51x вне форума Ответить с цитированием
Старый 12.01.2017, 22:32   #13
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Не очень хороший подход. Лучше один порт, но разные URL как в HTTP. Каждый файл скачивается при помощи отдельного сокета(отдельного соединения).
А сервер просто разбирает в зачине какой URL соответственно, то и возвращает. Если файл, то файл если сообщения, то сообщения.
А то что разбирать(парсить) поток надо, так его всяк надо разбирать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 12.01.2017 в 22:38.
Pavia вне форума Ответить с цитированием
Старый 12.01.2017, 23:55   #14
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Да, при необходимости сервер открывает доп. порт, а потом закрывает.
Это как? надо создавать динамически еще 1 компонент ServerSocket?
Legeardo вне форума Ответить с цитированием
Старый 13.01.2017, 01:02   #15
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

А что вас смущает? Чем компонент ServerSocket отличается от прочих компонентов, например, TButton?
northener вне форума Ответить с цитированием
Старый 13.01.2017, 02:29   #16
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

А если ServerSocket попытается открыт порт, а он не откроется. Он будет закрыт на уровне провайдера. И все же, можно как то организовать все это на 1 порту?
Legeardo вне форума Ответить с цитированием
Старый 13.01.2017, 02:45   #17
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от Legeardo Посмотреть сообщение
А если ServerSocket попытается открыт порт, а он не откроется.
ServerSocket не "открывает порт", он его слушает. И если сей порт закрыт на уровне провайдера - то без шансов.

Цитата:
Сообщение от Legeardo Посмотреть сообщение
И все же, можно как то организовать все это на 1 порту?
Нельзя. Но смотря что ты под этим имеешь в виду.
northener вне форума Ответить с цитированием
Старый 13.01.2017, 03:17   #18
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Надо организовать возможность передачи файла и параллельно с этим отправлять ему текстовые сообщения.
Legeardo вне форума Ответить с цитированием
Старый 13.01.2017, 04:03   #19
Legeardo
Пользователь
 
Регистрация: 04.10.2016
Сообщений: 76
По умолчанию

Недавно я знал о программе дарккомет. Программа для удаленного администрирования. Для ее работы нужно открыть лишь 1 порт. Я пробовал прослушивать свой микрофон, смотреть рабочий стол, смотреть вебку, и скачивать файл (это основные функции дарккомет). И это я делал одновременно! Этой программе как то удается расфасовывать информацию... При том что она работает на 1 порту.
Legeardo вне форума Ответить с цитированием
Старый 13.01.2017, 07:37   #20
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от Legeardo Посмотреть сообщение
Недавно я знал о программе дарккомет. Программа для удаленного администрирования. Для ее работы нужно открыть лишь 1 порт. Я пробовал прослушивать свой микрофон, смотреть рабочий стол, смотреть вебку, и скачивать файл (это основные функции дарккомет). И это я делал одновременно! Этой программе как то удается расфасовывать информацию... При том что она работает на 1 порту.
Вам тут и пытаются объяснить. Если не хотите потоки, делайте доп.порт. Если хотите все по 1 порту, то тут потоки. Не хотите потоки и доп.порты, получайте зависания всего при передаче файлов или Web.
На пальцах и по топорному:
ServerSocet в паре с ClientSocet- создали туннель,трубу,шланг(соеденение).При чем у одного и того же клиента,может быть не 1 труба до сервера, а 3,10 или 100(нить подключения) . По шлангу от клиента передали:
[MES: Привет!] -Это передает поток отвечающий за чат (1 нить) создается при отправке сообщения, далее слушает
[UNLOAD:C:/12.TXT] -Это передает поток отвечающий загрузку (2 нить) создается при старте передачи,по окончании закрывается
[WEB:127.0.0.1] -Это передает поток отвечающий за WEB (3 нить) висит постоянно
Все это шлется серверу потоками условно одновременно, сервер выслушав понимает кто и чего хочет, отвечает клиенту на его запрос.
Задача кода клиента будет слушать и если что-то услышал, начать разгребать что ему ответил сервер.
Если сервер ответил с заголовком MES,значит это чат
Если сервер ответил с заголовком UNLOAD,значит прилетел еще 1 битик файла
Если сервер ответил с заголовком WEB,значит это потоковое видео.

Если все это будет потоками, ничто не будет подвисать работу программы. А процессор сам разберется в какое время и что сунуть в ваш LAN провод.
Заголовками MES,UNLOAD,WEB могут быть 3 ClientSocet созданные каждый в своем потоке и подключенные к 1 серверу

P/S/ Если вы дилетант в области программирования, я советую вам спустится с небес на землю. Вы установили Delphi и задали вопрос на форуме и думаете что завтра напишете Skype.
НЕТ не напишите. Вам нужно разобраться по отдельности.
1-Начините просто с чата. Пощупайте как это работает.
2-Постепенно разберитесь с потоками, и напишите чат под управлением потока
3-Сделайте отладку, найдите баги, исправляйте баги. И только потом уже на 2 этап,передача файла.
Пишу много и развернуто

Последний раз редактировалось Heneken87; 13.01.2017 в 08:07.
Heneken87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация обмена данными и наполнение магазина jess23 Microsoft Office Access 2 26.03.2016 11:35
HEX помощь - протокол обмена данными с прибором acid26sk Помощь студентам 18 17.11.2014 11:25
Open Source протоколы для обмена мгновенными сообщениями Deadstock Общие вопросы .NET 4 12.02.2014 01:08
ускрпение обмена данными sasha2121 Компьютерное железо 0 25.01.2011 14:58