Serwer informacyjny na socketach

0

Witajcie!
Chcialem stworzyć program, który zbiera dane informacje do serwera.

<font size="3">Założenia:</span>

  1. Główny serwer znajdujący się na sztywnym IP zbiera informacje od klientów

  2. Główny serwer po otrzymaniu od klienta danych, sprawdza, czy ktoś wcześniej już takiej informacji nie przysłał, jeżeli nie - dopisuje otrzymane dane do swojej bazy danych.

  3. Klient po pierwszym uruchomieniu może pobierać dane z serwera, ale wysyłać je, może dopiero po podaniu określonych danych osobowych (czyli rejestracji w serwisie).

  4. Informacje między serwera a klientami krążą poprzez ustalony typ danych, np:

Type
Data = Record
   SenderName:String[80];
   Data:string[140];
   DataSource:Byte;
end;

Jeżeli ktoś już robił coś takiego to bardzo prosze o kod!
Z góry dziękuję serdelecznie za pomoc!

// edytuj swoje posty nie zakładaj wielokrotnie tego samego tematu! - Ł

0

Chcesz stworzyc program czy dostac gotowca?

0

Rozumiem, że zarówno klient jak i serwer napisane są w Delphi? Jeśli tak, to robisz coś takiego:
U klienta w momencie chęci pobierania danych wysyłasz do serwera zapytanie, to jak ma wyglądać, to już Twoja sprawa. Możesz zrobić coś na wzór protokołu HTTP, będzie wygodne.
Jeśli chcesz dodać dane, przesyłasz dodatkowo "dane osobowe" (powiedzmy tak, jak to ma miejsce w protokole HTTP).

Serwer natomiast w momencie otrzymania jakiegoś zapytania parsuje je, sprawdza co ma zrobić (wysłać dane, czy dopisać pobrane) i odpowiada klientowi.

Zgrubsza mogłoby to wyglądać tak:
Zapytanie do serwera o przesłanie danych:
GET NAZWA_TWOJEGO_PROTOKOŁU/WERSJA

(dwa entery - koniec zapytania)
a wysyłanie danych powiedzmy tak:
SEND NAZWA_TWOJEGO_PROTOKOŁU/WERSJA
Login: login
Hasło: hasło, najlepiej zaszyfrowane jakimś jednostronnym algorytmem
Dane: To, co chcesz, żeby serwer zapisał

(znów dwa entery - koniec zapytania)

Oczywiście jest to tylko koncepcja, można dane przesyłać na mnóstwo innych sposobów.
Jak będziesz miał problem z czymś konkretniejszym to napisz, bo Twoje pytanie nie konkretyzuje czego nie wiesz.

0

Tak na "pawdę" program miał kolekcjonowa ciekawe nazwiska, takie jak "Czopek","Xavier" itp...

Chodzi mi o zapytanie słane SendText-em a dane przeżynane przez SendBuffer-a.

Ale każda próba napisania tego kończyła się w momencie podłaczenia pierwszego klienta. Serwer wybijał errora z " [!!!] " a dane do niego nie dochodziły :( :( :(

PS: Co to jest parsowanie?

0

Przez parsowanie rozumiem rozbicie otrzymanych informacji tak, aby wyciągnąć z tego odpowiednie dane.

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