Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > tcp/ip сервер


Автор: admsasha 15.4.2005, 04:42
цель, сделать tcp/ip сервер (типа icq, отсылка данных, другому), вот думаю по какому принцепу сделать его ?
многопоточный или многопроцесорный ?
как сделать что бы отослать на сервер, а сервер нашел кого надо и отослал ему ?

мне не код, а для начала, просто как это делается ?

Автор: chipset 15.4.2005, 04:50
Цитата(admsasha @ 14.4.2005, 18:42)
многопоточный или многопроцесорный ?

Конечно лучше взять десяток АМД smile Шучу..
Делаешь многопоточный, в случае имения нескольких процессоров, винда сама распаллерит, вроде.

Цитата(admsasha @ 14.4.2005, 18:42)
как сделать что бы отослать на сервер, а сервер нашел кого надо и отослал ему ?

Делаешь приемную часть, сервис который будет прослушивать определенный порт, в случае IP пакета твоего формата - парсит, передает другому модулю, тот отправляет письмо по адресу.
Читай про сокеты..
Перенесу ка я эту темку из C++:Общие вопросы..

Автор: admsasha 15.4.2005, 05:34
Цитата
Делаешь многопоточный, в случае имения нескольких процессоров, винда сама распаллерит, вроде.

под Linux вообще smile

Цитата
Читай про сокеты..


socket я знаю..., я спрашиваю, как лучше все реализовать, что бы при большом (100), клиентов, нечего не затормаживалось ?

Автор: Coocky 15.4.2005, 10:07
Цитата
многопоточный или многопроцесорный ?

Я хотел бы увидеть многопроцессорный smile ,ну в твоем исполнении конечно...
Цитата
как сделать что бы отослать на сервер, а сервер нашел кого надо и отослал ему ?

Предлагаю сделать базу с адресами.Хранятся данные в виде НИК-IP адрес(ключ-значение).
База заполняется в процессе регистрации.Когда регишься,отсылается запрос на твою базу,с ником и IP.

Автор: admsasha 18.4.2005, 01:49
Код

Предлагаю сделать базу с адресами.Хранятся данные в виде НИК-IP адрес(ключ-значение).
База заполняется в процессе регистрации.Когда регишься,отсылается запрос на твою базу,с ником и IP. 


А если IP серый ? (за маршрутизатором каким либо ?)
а можно хранить значение socket, а потом:
socket=<сокет из базы>
и дальше передавать данные ?

Автор: bel_nikita 19.4.2005, 00:38
ТОлько лучше все это через UDP делать smile

Автор: admsasha 19.4.2005, 10:03
Цитата(bel_nikita @ 19.4.2005, 07:38)
ТОлько лучше все это через UDP делать 

upd не создает конекты, только рассылки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)