Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

Как сделать сервер по типу icq?   Найти похожие ветки 

 
keal   (2005-09-14 00:01) [0]

Как сделать программу-сервер по типу icq?
Можно ли разместить ее на каком-нибудь бесплатном сервере?
Если да, то как к ней конектися?
И как сделать так, чтоб она была все время запущена?


 
Reindeer Moss Eater ©   (2005-09-14 00:31) [1]

1.Можно
2.Можно
3.Как и ко всему остальному
4.Не выгружать из памяти


 
keal   (2005-09-14 09:02) [2]

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


 
SergP ©   (2005-09-14 09:27) [3]


> 2.Можно


А разве есть такие хостеры которые позволяют у себя на сервере всякую х... размещать?


 
Reindeer Moss Eater ©   (2005-09-14 10:07) [4]

А что нет разве таких?
Хотя бы этот сайт во времена когда кладовка работала.


 
keal   (2005-09-14 11:35) [5]

Есть у кого-то пример или исходник подобной проги? Или кто знает ссылку на статью?


 
Digitman ©   (2005-09-14 11:47) [6]


> чтоб принимала сигнал клиента


что такое "сигнал клиента" ?


 
keal   (2005-09-14 11:54) [7]

клиент отправляет по ip месагу, а ему приходит месага принята


 
Digitman ©   (2005-09-14 12:11) [8]


> keal   (14.09.05 11:54) [7]


> клиент отправляет по ip месагу


что такое "месага" ?
кому "месага" отправляется клиентом - серверу ? другому клиенту сервера ?


 
keal   (2005-09-14 12:59) [9]

месага - сообщение

надо и клиент среверу
и клиент другому клиенту


 
Digitman ©   (2005-09-14 13:03) [10]


> месага - сообщение


что такое "сообщение" ?


 
keal   (2005-09-14 13:07) [11]

бинарные данные


 
Digitman ©   (2005-09-14 13:17) [12]


> keal   (14.09.05 13:07) [11]


> бинарные данные


а если не бинарные, то это уже не "месага" ?


 
Digitman ©   (2005-09-14 13:31) [13]


> keal   (14.09.05 13:07) [11]


у тебя вообще КАКИЕ проблемы ?


> Как сделать


"Как сделать" - это НЕ проблема, это полное непонимание, за что и с какого боку взяться за дело.

Начни с обзора имеющихся в Делфи стандартных решений.

Это м.б., например, компоненты TSocketserver, TTCPServer, TIdTCPServer ..


 
keal   (2005-09-14 13:43) [14]

Создание клиент-сервера не проблема, в локальной сети.

Другое дело в нете.
К примера, разместил я сервер на сайте http://keal.бесплатный_хост.ru/server.exe
как поднять сервер?
как сделать так, чтоб при конекте клиента на keal.бесплатный_хост.ru:xxxx клиент конектился к моему серверу?


 
Digitman ©   (2005-09-14 14:07) [15]


> Создание клиент-сервера не проблема, в локальной сети


глоб.сеть мало чем отличается от лок.сети с этой позиции рассмотрения.

в ЛЮБОМ случае клиенту д.б. известен/длоступен IP-адрес хоста, на котором активен сервер.


> К примера, разместил я сервер на сайте http://keal.бесплатный_хост.
> ru/server.exe


что значит "разместил" ?


 
isasa ©   (2005-09-14 14:07) [16]

Кажется я начал догадываться, что ты хочешь!

>как сделать так, чтоб при конекте клиента на keal.бесплатный_хост.ru:xxxx клиент конектился к моему серверу?
ЕСЛИ СВОИМ КЛИЕНТОМ то, "Слушать" порт.

Но, насколько я знаю, хостинг предполагает размещение программного обеспечения для работы с веб сервисами(т.е. http). Ненормальных провайдеров, которые позволяли бы работать с их портами чужому ПО не встречал. Отвечал уже в одной из твоих веток - организуй как веб службу.
Тем более
>http://keal.бесплатный_хост.ru/server.exe
это оно и есть.
Другое дело, что, скорее всего, писать придется для *nix платформы.


 
Digitman ©   (2005-09-14 14:12) [17]


> isasa ©   (14.09.05 14:07) [16]


> ЕСЛИ СВОИМ КЛИЕНТОМ то, "Слушать" порт.


с каких пор TCP-клиент чего-то там "слушает" ?


 
Ivane   (2005-09-14 14:37) [18]

Digitman, а что он делает? он прослушивает порт на наличие RST пакетов...


 
Digitman ©   (2005-09-14 14:50) [19]


> Ivane   (14.09.05 14:37) [18]
> он прослушивает порт на наличие
> RST пакетов...


неужели ?!


 
isasa ©   (2005-09-14 16:11) [20]

Уточняю :)
ЕСЛИ СВОИМ КЛИЕНТОМ то, "Слушать" порт там, где сервер, естесвенно.

С клиентом проще - заказал, получил(не получил), отвалил :)


 
Digitman ©   (2005-09-14 16:16) [21]


> isasa ©   (14.09.05 16:11) [20]


смотря что ты подразумеваешь под СВОИМ КЛИЕНТОМ.


 
Ivane   (2005-09-14 16:19) [22]

Хорошо, Digitman... Допустим он не прослушивает порт... Тогда, что же он по твоему делает??? А?


 
Digitman ©   (2005-09-14 16:24) [23]


> Ivane   (14.09.05 16:19) [22]


> что же он по твоему делает?


кто ?


 
isasa ©   (2005-09-14 16:54) [24]

Уточняю :)
ЕСЛИ СВОИМ КЛИЕНТОМ - клиентом, написаным самим лично, т.е. своим, т.е. ДАРОМ ....


 
Ivane   (2005-09-14 17:09) [25]

Digitman, сервер.


 
Digitman ©   (2005-09-14 17:53) [26]


> Ivane   (14.09.05 17:09) [25]
> сервер.


цитирую себя  [17]

> с каких пор TCP-клиент чего-то там "слушает" ?

я - о клиенте TCP-соединения

а ты о чем ?


 
Eraser ©   (2005-09-14 18:01) [27]


> keal

Короче проще всего делать чат на основе http + CGI (Perl, php).
Формеруй на клиенте запрос (пост), отправляй на сервер, жди ответ.


 
Digitman ©   (2005-09-14 18:14) [28]

говоря об ICQ-сети следует понимать, что в глоб.сети работают МНОЖЕСТВО icq-серверов, которые взаимодействуют между собой с использованием TCP как транспортного протокола.

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

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

С этой точки зрения приложение ICQ-сервер можно рассматривать одновременно и как приложение-клиент и как приложение-сервер, в зависимости от того, о какой части его функциональности идет конкретно речь

Что касается прикладных кл.приложений, работающих с ICQ-серверами в сети, то они как правило ТОЖЕ реализуют внутри себя И клиентскую И серверную логику. Кл.логика кл.приложений требуется для взаимодействия с серверной логикой icq-серверов, а серв.логика кл.приложений требуется для установления peer-to-peer-соединений с другими клиентами icq-сети, а так же для необязательной организации "активного режима" , подобного  FTP-клиентам ...см. функциональность ICQ SendFile, ICQ Shared Files, ICQ ActiveList e.t.c


 
keal   (2005-09-14 18:20) [29]

Из двух веток понял, что надо написать веб-службу cgi.

Если писать типа icq, то несколько раз в секунду клиентом обращатся к серверу, пересылась свое сообщение и считывать новые. При этом сервер несколько раз в секунду будет подниматся и падать. Если неправ поправте.

Последний вопрос: а хост не умрет если клиентов будет очень много.


 
Digitman ©   (2005-09-14 18:28) [30]


> Если писать типа icq, то несколько раз в секунду клиентом
> обращатся к серверу, пересылась свое сообщение и считывать
> новые


если писать именно ТИПА icq, то ничего этого не потребуется.

icq-клиент единожды устанавливает соединение с icq-сервером и это соединение удерживается до конца сессии.. при этом ни клиенту ни серверу не требуется "теребить" периодически друг-друга на предмет а не появилась ли интересующая инф-ция, подобно тому как это реализовано в подавляющем большинстве разношерстных web-чатов


> хост не умрет если клиентов будет очень много


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


 
keal   (2005-09-14 18:30) [31]

Мне придется писать под сисьему *nix. А программировать умею только в delphi. Что делать? Или cgi приложения и так прокатят?


 
keal   (2005-09-14 18:54) [32]


> icq-клиент единожды устанавливает соединение с icq-сервером
> и это соединение удерживается до конца сессии..

Для этого icq-сервер должен быть все время поднят и ловить всех клиентов по определенному порту. Как поднять сервер на чужом хосте да еще и лазить по портам?


 
Eraser ©   (2005-09-14 19:05) [33]


> keal   (14.09.05 18:30) [31]

CGI дело растяжимое... тупо обновлять весь чат на предмет новых сообщений как это описал Digitman в [30] ни есть хорошее решение.
Лучше написать свой "протокол" поверх http (cgi). Но прийдётся поизвращаться - держать соединение открытым как можно дольше и время от времени посылать на клиент тестовые "сообщения" на предмет определения наличия/отсутствия на сервере новых входящих сообщений... Думается активной стороной в этом случае будет сервер...
Короче чтобы сделать полноценный чат всё таки нужен отдельный порт + спец. протокол. Советую копнуть в сторону IRC.

> Или cgi приложения и так прокатят?

cgi всё равно под что писать, это просто скрипт.


 
Eraser ©   (2005-09-14 19:06) [34]


>Как поднять сервер
> на чужом хосте да еще и лазить по портам?

Этот вопрос задай хостеру.


 
OldNaum ©   (2005-09-14 19:29) [35]

LOL, однозначно, почти в орешник.

покупай тачку, подключайся к выделенке, покупай "белый" IP, пиши "обычный" клиент / сервер "как в локалке" и хвастайся друзьям и подругам =)

p.s. "А программировать умею только в delphi." (c) author )


 
keal   (2005-09-14 20:23) [36]


> LOL, однозначно, почти в орешник.
>
> покупай тачку, подключайся к выделенке, покупай "белый"
> IP, пиши "обычный" клиент / сервер "как в локалке" и хвастайся
> друзьям и подругам =)


Ага, и купить губозакатывающую машину...


> p.s. "А программировать умею только в delphi." (c) author )


Да ладно, я знаю и другие языки. Но не в одном не силен как в delphi.


 
andoma   (2005-09-15 03:44) [37]

vot ssilochka dlya alternavitnoqo mesencera ICQ. on open source. vozmi i polzuysya
http://download.asechka.ru/index.php?cid=67


 
twin   (2005-09-15 10:26) [38]

keal, под никсой можешь писать на Kylix.
Kylix по сути тот же Delphi(и компоненты подходят) и из той конторы (Borland).


 
keal   (2005-09-15 12:52) [39]

andoma, по ссылке ничего не качается

twin, есть компилятор, чтоб компелировать код под делфи в проги под юникс? а то неохота ставить юникс.


 
Servelat ©   (2005-09-15 18:41) [40]

А зря, юникс вещь. Воткнул себе Fedora (ядро 2.6) и радуюсь, подумываю об удалении форточек. Осталось, чтобы найти все свои любимые игры под линукс и тогда точно разнесу мастдай.



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.044 c
2-1126443994
Серёга
2005-09-11 17:06
2005.10.16
Сохранить в файл(Pascal)


14-1127828846
pazitron_brain
2005-09-27 17:47
2005.10.16
Как стать модератором?


6-1111927099
Nes
2005-03-27 16:38
2005.10.16
IdUDPClient & IdUDPServer ==> Вешаться или подскажите?


2-1125575312
Русланка
2005-09-01 15:48
2005.10.16
Вопрос по потокам


1-1127395980
.::AndreW::.
2005-09-22 17:33
2005.10.16
На мультемелийной клаве есть три кнопки запуск Word, Exel...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский