![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
многопоточность для 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]
> особенность серверной части в том, что она имеет одно соединение
> с сервером в интернете.
С этого момента максимально подробней - чем обусловлена такая особенность ..