c - Kan ikke tilføje TCP-stikket til en stikkontakt med SDL\_NET

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg får denne fejl ved at prøve at tilføje min stikkontakt til et sokkelsæt :



  Undtagelse kastet på 0x69702631 (SDL2\_net.dll) i PROJECTNAME.exe: 0xC0000005: Adgang til overtrædelseslæsningssted 0x00000000.



Jeg er ikke sikker på, hvad jeg mangler. Her er den relaterede kode.


SDL\_Init(SDL\_INIT\_EVERYTHING);
SDLNet\_Init();
IPaddress serverIP;

SDLNet\_SocketSet socketSet = SDLNet\_AllocSocketSet(10); 
if (socketSet = NULL)
{
    printf("Failed to create the socket set: \%s
", SDLNet\_GetError);
}

if (SDLNet\_ResolveHost(&serverIP, NULL, 1234) == -1)
{
    printf("SDLNet\_ResolveHost: \%s 
", SDLNet\_GetError());
    exit(1);
}

TCPsocket serverSocket;
serverSocket = SDLNet\_TCP\_Open(&serverIP); 

if (!serverSocket)
{
    printf("SDLNet\_TCP\_Open: \%s
", SDLNet\_GetError());

}
else
{
    printf("Successfully created server socket 
");
}
int numused;

numused = SDLNet\_TCP\_AddSocket(socketSet, serverSocket);
if (numused == -1)
{
    printf("SDLNet\_Addsocket: \%s 
", SDLNet\_GetError());
    while (1)
    {
        printf("1");
    }
}


Enhver hjælp ville blive værdsat.

Bedste reference


Der er flere typografier:


if (socketSet = NULL)


Tildele NULL til socketSet, hvilket gør tilstanden forkert og derfor senere bruger du den til at ringe SDLNet\_TCP\_AddSocket med en nullpeger.


printf("Failed to create the socket set: \%s
", SDLNet\_GetError);


Mangler ().


Generelt er det en god ide at aktivere så mange advarsler som muligt for at undgå trivielle typografier som disse.