Chat - jak to rozwiazac ?

0

Jak zrobic program z czatem, tak zeby
a) po ruruchomieniu programu sprawdzic czy jest uruchomiony serwer
jak nie ma, to go utworzyc, jak jest, podlaczyc sie do niego jako klient
b) jak rozpoznac ma komputer, czy serwer dla tego czatu zostal 'postawiony' gdzies w sieci i zeby klient mogl sie podlaczyc

dzieki za pomoc

0

to tak nie działa. Serwer stawia się tak, aby jego adres był stały i niezmienny i aby był dostępny cały czas. Na dobrą sprawę w sieci lokalnej na kilkanaście, kilkadziesiąt kompów można na upartego sprawdzić każdy i np. próbować odpytać je na określonym porcie i sprawdzać, który odpowie (jak odpowie to jest serwer), ale w internecie nie masz na to szansy.

0

Eee tam. Wszystko się da. Wystarczy, że w jakimś stałym miejscu - nawet na jakimś hostingu umieścisz prosty skrypt. Program zczyta z niego adres serwera. Jeśli połączenie z tym adresem się nie powiedzie (serwer już wyłączony) lub nic nie dostał - serwera nie ma - program sam uruchomi się w trybie serwera i skryptowi wysyła adres, by ten go zapamiętał dla innych.

0
Szczawik napisał(a)

Eee tam. Wszystko się da. Wystarczy, że w jakimś stałym miejscu - nawet na jakimś hostingu umieścisz prosty skrypt. Program zczyta z niego adres serwera. Jeśli połączenie z tym adresem się nie powiedzie (serwer już wyłączony) lub nic nie dostał - serwera nie ma - program sam uruchomi się w trybie serwera i skryptowi wysyła adres, by ten go zapamiętał dla innych.

w sumie tak też można, ale nie zmienia to faktu, że chociaż parę kilo na znanym serwerze musisz mieć

0

serwer hostingowy mam... :)
... ale zeby skrypt napisać to bym musiał troszkę pomyslec... ;)

0
prezes_m napisał(a)

serwer hostingowy mam... :)
... ale zeby skrypt napisać to bym musiał troszkę pomyslec... ;)

ale tu skrypt nie jest potrzebny tylko 1 plik textowy na serwerze, do którego masz dostęp read/write

No i jakoś trzeba rozwiązać taką sytuację:
nie ma serwera, plik jest pusty
adres serwera chcą odczytać jednocześnie dwa różne klienty, oba odczytują pusty plik i przestawiają się na działanie w trybie serwer a następnie podają swoje IP. Można np. wtedy sprawdzać przy starcie i przed wpisaniem IP, czy już jakiegoś nie ma.

0

Witam,

zrobilem wysylanie pliku na serwer, teraz jak zrobic, zeby u uzytkownika nr 2 sie rozmowa uaktualniala ? jak on ma ja pobierac ?

oto kod czat:

procedure Tchat.RzBitBtn1Click(Sender: TObject);
var
nick:string;
begin
try
idftp1.Connect(true,-1);
idftp1.Disconnect;
except
    ShowMessage('Brak polaczenia');
end;
end;

procedure Tchat.IdFTP1AfterClientLogin(Sender: TObject);
var
roz,text,nick:string;
begin
idftp1.ChangeDir('public_html');
text:=Wypowiedz.Lines.Text;
nick:=imie.Text;
Rozmowa.Lines.Add(nick+': '+text);
Rozmowa.Lines.SaveToFile('c:\czat.txt');
idftp1.Put('c:\czat.txt','czat.txt',true);
end;
0

Chyba żeśmy się nie zrozumieli - na serwer nie wysyłasz tekstów tylko numer IP komputera, do którego można się połączyć w celu prowadzenia rozmowy. Wysyłanie tekstów to zupełnie inny mechanizm.

0

Czy moglbym komus to wyslac do sprawdzenia, bo mi cos nie dziala, moze by mi ktos napisale jakie beldy mam ?

0

http://4programmers.net/file.php?id=626 - To ci powinno pomóc ze znalezieniem servera na LANie

1 użytkowników online, w tym zalogowanych: 0, gości: 1