Skocz do zawartości

Jak najlepiej przesłać dane do użytkownika


gmysu

Rekomendowane odpowiedzi

Mianowicie, jak przesłać dane do wszystkich na serwerze? Otworzyć osobny socket dla każdej instancji danego obiektu na serwerze, i odczytywać z każdego dane w odpowiadającym mu obiekcie klienta? I wreszcie, czy funkcja tcpip() to dobry sposób na realizację czegoś takiego?

 

Pozdrawiam. Moje dzisiejsze eksperymenty nie dały rezultatów:).

Odnośnik do komentarza
Udostępnij na innych stronach

O_O Po co ci tyle socketów ??

 

Ja znalazłem sobie taki sposób:

GML
/* wysyłanie */

var polecenie;

 

polecenie="A.B="+=string(C.D)

 

clearbuffer()

writestring(polecenie)

sendmessage()//czy jakoś tak

/* dla

A - nazwa do którego zmienna ma dotrzeć

B - nazwa zmiennej, która dochodzi

C - nazwa obiektu, z którego zmienna jest pobierana

D - nazwa pobieranej zmiennej

*/

 

/* odbiór */

execute_string(readstring)

 

I tak to mniej więcej wygląda... Ładuj se to w stringa i wykonuj string.

Odnośnik do komentarza
Udostępnij na innych stronach

Mentoss, jak ktoś wbija na serwer, to właśnie przez tcpaccept tworzysz dla niego socket...

 

Zapisuj te id socketów z tcpaccept tworzonym obiektom, wysyłaj na te sockety.

 

Mhm w tej chwili w obiekcie który kontroluje akceptowanie połączeń (step) mam coś takiego:

 

GML
klient = tcpaccept(listen,1);

 

if(klient)

{

o = instance_create(40,40,player);

(o).socket = klient;

}

 

Mogę wysyłać na socket z którego czytam pakiety?? Jak to? Czy to się jakoś nie gryzie? Tapnij mi takim przykładowym wysyłaniem, bardzo proszę.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...