Aplikacja ala GG

0

Witam,
na jakiej zasadzie zrobić aplikację która by się komunikowała z komputera A z komputerem B?
Idea podobna jak w GG. Wysyłam coś do innego komputera / użytkownika i on odsyła coś do mnie. Zastanawiałem się nad sprawdzaniem w pętli, ale chyba to nie jest ok.

0

WinSock

0

Aplikacja musi najpierw wysłać komunikat do serwera, a następnie serwer do użytkownika, ale czy to że serwer wysyła do użytkownika jest ok? I jak to zrealizować?

0

Wpisz WinSock w google to sie dowiesz

0
gosc_z_pytaniem napisał(a)

Aplikacja musi najpierw wysłać komunikat do serwera, a następnie serwer do użytkownika, ale czy to że serwer wysyła do użytkownika jest ok? I jak to zrealizować?

Moje aplikacje nie działają w tej samej sieci. Nawet nie mają publicznych adresów. Jeden komputer działa w jednej sieci wewnętrznej, drugi w innej, a trzeci w jeszcze innej podsieci. Jak skomunikować ze sobą te komputery. Ich adresy IP mogą się zmieniać. Nie mogę za każdym razem podawać im adresów. Chyba trzeba to rozwiązać na takiej idei jak z GG. Tylko jak za to się zabrać?

Idea jest taka że z komputera A wysyłam komunikat do komputera B, a ten odsyła wiadomość do komputera A i dodatkowo uruchamia jakąś usługę sieciową.

0

Idea jest taka, że GG, XMPP i 90% komunikatorów korzysta z serwerów, które mają stałe, znane, publiczne IP i przez nie wiadomości przechodzą. Serwer odbiera wiadomość od jednego klienta, patrzy do kogo jest adresowana i przesyła do odpowiedniego innego klienta.

0

0

Idea wygląda tak.
Serwer jest na kompie z publicznym IP(jak już ktoś powiedział).
Klient podłącza się do serwera. Przedstawia mu się. Serwer przypisuje go do jego gniazda. Serwer może odpowiedzieć w stylu: "Cześć gościu, jesteś podłączony"
Klient wysyła wiadomość innemu klientowi. Tak naprawdę wiadomość z odpowiednim nagłówkiem idzie do serwera, np:
NR_ODBIORCY = 111&TRESC = Cześć, co u Ciebie?

Serwer sprawdza, czy odbiorca o numerze 111 jest podłączony(ma gdzieś zapisanych podłączonych klientów). Jeśli jest, sprawdza jego socket i wysyła na ten socket pakiet, np:
NR_NADAWCY = 222&TRESC = Cześć, co u Ciebie?

Kapisz?

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