Форум: "Начинающим";
Текущий архив: 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) и радуюсь, подумываю об удалении форточек. Осталось, чтобы найти все свои любимые игры под линукс и тогда точно разнесу мастдай.
← →
Eraser © (2005-09-15 21:13) [41]
> Servelat © (15.09.05 18:41) [40]
А как же Делфи? )
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.039 c