Skocz do zawartości

Błąd podczas nasłuchiwanie portów


Brox

Rekomendowane odpowiedzi

Siemka mam taki kod w create:

 

GML
nasluchiwanie = tcplisten(14804, 2, true);

if (nasluchiwanie <= 0)

{

show_message("Nasluchiwanie portu 14804 się nie powiodło.");

room_goto(rMenu);

}

 

I gdy włączę grę wyskakuje mi błąd:

In script tcplisten:
Error in code at line 11:
   /*  Creates a listening socket to monitor a certain port for incoming  connections.  Argument0 = Port to listen on  Argument1 = Max amount of people allowed to be in the connected but not  accepted list  Argument2 = Blocking(0)/Non-Blocking(1) mode. Affects the tcpaccept script.    returns the id of the socket or a negative error code.*/return external_call(global._SokB, argument0, argument1, argument2);
                              ^
at position 29: Unknown variable _SokB

 

Wie ktoś o co chodzi? Dopiero się uczę używać 39dll więc nie kumam o co temu chodzi, ale chyba coś, że argument2 nie przyjął jakieś wartości 0 albo 1 a przecież true to 1.

Odnośnik do komentarza
Udostępnij na innych stronach

No dobra to teraz mam drugie pytanie mam kod w step:

 

 

GML
client = tcpaccept(nasluchiwanie, true);

 

if(client)

{

global.otherplayer = client;

room_goto(rGame);

}

 

No i w ogóle nie chce przejść do następnego roomu nawet po długim czekanie wie ktoś czemu? ;d

Odnośnik do komentarza
Udostępnij na innych stronach

O czym wy mówicie :D?

To jest to samo co:

if(client == 1) -- tak też nie działa

lub

if(client > 0) -- i tak też nie działa

 

I to z przykładu też nie działa:

GML
client = tcpaccept(listen, true);

if(client <= 0) exit;

global.otherplayer = client;

room_goto(rmGame);

 

Ja nie wiem czemu mi wywala właśnie ten błąd, że zmiennej client przepisuje ciągle -1 a powinno przepisać 1 (true) no nie?

Odnośnik do komentarza
Udostępnij na innych stronach

no to lepiej chyba napisać true no nie? Btw zapewne zmienna listen nie ma odpowiedniej wartości.

 

Czyli co mam zrobić? ;d

 

I zależy co tcpaccept zwraca.

 

Zwraca -1.

 

 

A może to nie działa bo robię to na lapku który łączy się z ruterem przez WiFi, czy to nie ma w ogóle znaczenia?

Odnośnik do komentarza
Udostępnij na innych stronach

W create mam:

 

GML
dllinit(0,true,false)

 

nasluchiwanie = tcplisten(14804, 2, true);

if (nasluchiwanie <= 0)

{

scr_msg()

show_message("# Nasluchiwanie portu 14804 się nie powiodło. (Wyłącz grę i spróbuj ponownie)");

dllfree()

room_goto(rMenu);

}

 

A w step:

GML
client = tcpaccept(nasluchiwanie, true);

 

if(client > 0)

{

closesocket(nasluchiwanie)

global.otherplayer = client;

room_goto(rGame);

}

 

 

Dobrze?

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