Skocz do zawartości

Obsługa sieci


Ninja

Rekomendowane odpowiedzi

Witam. Zabrałem się za naukę obsługi sieci w GM:Studio i na podstawie tutoriala napisałem sobie najprostszy kodzik który coś ma tworzyć oPlayer dla danego clienta.

 

Server:

GML
// Create

_MaxClients = 32;

_PortTCP = 6510;

_CreateX = 100;

_CreateY = 100;

Clients = ds_map_create();

Sockets = ds_list_create();

 

Server = network_create_server( network_socket_tcp, _PortTCP, _MaxClients );

if( Server < 0 ) {

show_message( "cant create server" );

ds_map_destroy(Clients);

ds_list_destroy(Sockets);

game_end();

}

 

// Networking

var EventID = ds_map_find_value( async_load, "id" );

var Type = ds_map_find_value(async_load, "type");

 

if( EventID == Server ) { // Event socketu Server

var Sock = ds_map_find_value(async_load, "socket");

var IP = ds_map_find_value(async_load, "ip");

 

if( Type == network_type_connect ) { // Connection

ds_list_add( Sockets, Sock );// Lista socketow

var ObjPlayer = instance_create( _CreateX, _CreateY, oPlayer );// Obiekt socketu

ds_map_add( Clients, Sock, oPlayer );// Dodawanie do listy clientow

}

else { // Disconnect

var inst = ds_map_find_value( Clients, Sock );// Wyszukanie elementu clienta w tablicy

ds_map_delete( Clients, Sock );// Kasowanie go

with( inst ) { instance_destroy(); }// Usuniecie obiektu

var index = ds_list_find_index( Sockets, Sock );

ds_list_delete( Sockets, index );

}

}

 

Client:

GML
Server = network_create_socket( network_socket_tcp );

err = network_connect( Server, "127.0.0.1", 6510 );

if( err != 0 ) {

show_message( "cant join to the server" );

game_end();

}

 

Włączam server potem client i od razu info, że nie można połączyć się z serverem. Server również nie otrzymuje żadnych info o próbie połączenia. W czym tkwi problem?

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ę...