Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

многопоточность для TCP\IP


lamerz ©   (2009-07-13 14:02:00) 

я только учусь писать программы, простите, даже тему не знаю как правильно написать :)

зада стоит такая:

- есть серверная часть, которая получая запрос от клиента лезет на сервер в инете и возвращает необходимые данные
- ну и как понятно, есть клиенты, которые посылают запросы на серверную часть и принимают полученные данные.

особенность серверной части в том, что она имеет одно соединение с сервером в интернете.

вот никак не могу сообразить как реализовать данный механизм при запросе от нескольких клиентов, что бы понять что кому возвращать.

как правильно это делается?
пока мысль по одна, - отрабатывать запросы по одному. тоесть пока не вернул результат запросившему клиенту запросы от дургих не отрабатывать.
но как-то это некрасиво..


Dennis I. Komarov   (2009-07-13 16:27:00) [1]


> Вобщем каша в голове

каша - это сильно сказано... человек только учится писать программы... и уже и многопоточность, и TCP/IP - вундеркинд...


Сергей М.   (2009-07-13 15:23:00) [2]

Вобщем каша в голове


Anatoly Podgoretsky   (2009-07-13 15:13:00) [3]

> Сергей М.  (13.07.2009 15:10:16)  [16]

Или PPTP


Сергей М.   (2009-07-13 15:10:00) [4]


> Anatoly Podgoretsky ©   (13.07.09 15:03) [15]


Сейчас, похоже, PPPoE всплывет)


Anatoly Podgoretsky   (2009-07-13 15:03:00) [5]

А что есть соединение? Куда с кем, на каком уровне, и т.д и поподробнее?


Сергей М.   (2009-07-13 14:58:00) [6]

Сервер и сервис - две разные разницы


lamerz   (2009-07-13 14:54:00) [7]

ну вначале нужно всё обдумать ))
я вообще не думал что это имеет значение, простите если что.. ))


Сергей М.   (2009-07-13 14:51:00) [8]


> насчет верхнего протокола  надо подумать
> SNMP наверное или telnet


Это что же получается, ты бросился писать программу, не зная по какому протоколу работает удаленный сервис ?

Мдя ..


lamerz   (2009-07-13 14:37:00) [9]

> На основании чего сделано умозаключение о такой "возможности" ?

ну сервер ищет по базам определенные данные.. запускает у себя там процесс который ему вернёт результат запроса.
один процесс быстр найдет и вернет, другой может чуть пошуршать подольше.


lamerz   (2009-07-13 14:35:00) [10]

вот насчет верхнего протокола  надо подумать ))
SNMP наверное или telnet ))

"первый пришел - первый получил"

вообщем наверное лучший вариант это сделать массив запросов, куда помещать их с меткой от какого клиента..  получив ответ на его, отправлять клиенту и сдвигая массив обрабатывать следующий ..

спасибо! попробую так.. я ещё не начинал код писать, пока только обдумываю


Сергей М.   (2009-07-13 14:28:00) [11]


> возможно ответ для первого и не прийдет или прийдет с задержкой
> большой


На основании чего сделано умозаключение о такой "возможности" ?
Удаленный сервис подразумевает асинхронный механизм "запрос-ответ" ? Или что ?


clickmaker   (2009-07-13 14:27:00) [12]

> поступил запрос от друго клиента, я и его послал

можно в очередь ставить. Обрабатывать последовательно по принципу "первый пришел - первый получил"


Сергей М.   (2009-07-13 14:26:00) [13]


> соединение по TCP\IP.


Я спрашиваю про прикладнойпротокол, а не про транспортный ..


> инетовский сервис


Я и спрашиваю, чтоза сервис..


lamerz   (2009-07-13 14:25:00) [14]

я про то, что допустим послал запрос от клиента. ответ не пришел, но поступил запрос от друго клиента, я и его послал..  возможно ответ для первого и не прийдет или прийдет с задержкой большой....


lamerz   (2009-07-13 14:23:00) [15]

соединение по TCP\IP..
сервер в инете наш рабочий, допускает одно подключение с определенного айпи адреса и под определенным логином ...

я вот никак не могу сообразить насчет механизма обработки запросов от нескольких клиентов, которые будут посылаться и приниматься ответы по одному TCP\IP каналу на инетовский сервис....


Сергей М.   (2009-07-13 14:18:00) [16]

И, кстати, зачем тут потребовалась многопоточность, если запросы к внешнему серверу все равно придется сериализовать из-за этой самой "особенности" ?


Сергей М.   (2009-07-13 14:16:00) [17]


> соединение с сервером в инете


Что за сервер-то ?
Протокол какой используется для работы с ним ?


lamerz   (2009-07-13 14:08:00) [18]

соединение с сервером в инете по логину происходит..  
разрешается одно подключение иначе забанит...


Сергей М.   (2009-07-13 14:05:00) [19]


> особенность серверной части в том, что она имеет одно соединение
> с сервером в интернете.


С этого момента максимально подробней - чем обусловлена такая особенность ..


Наверх

Титульная страница Поиск, карта сайта Написать письмо