Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Как сделать сервер по типу 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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.026 c
3-1125981973
DrAndrey
2005-09-06 08:46
2005.10.16
ХП с параметрами, возвр. набор данных , при поиске в базе


2-1126848784
Lady
2005-09-16 09:33
2005.10.16
Запрос


1-1127716347
Shlomo
2005-09-26 10:32
2005.10.16
Web приложение???


1-1127556641
Sergey_R
2005-09-24 14:10
2005.10.16
Генерация TreeView в runtime


14-1127485230
jack128
2005-09-23 18:20
2005.10.16
masterhost - какие впечатления?