Skip to main content
GameDev.net gamedev.net
🔒 Locked

I need a non-blocking socket tutorial.

Started by IronFist Apr 22, 2001 at 12:21 PM 2 replies 650+ views
Original Post
IronFist
IronFist
Does anyone know where I can find a non-blocking socket tutorial? I have looked around and I can only find blocking and asychronous. I have to use non-blocking because my program is a console app, so asychronous won''t work with it.
Play Sumasshu, which is a game I programmed. CLICK HERE
Null and Void
Null and Void
You could try to look at the "select" function. Or use multithreading (that''s what I did at first, but I''m trying to figure out how to implement select in my program).

"Finger to spiritual emptiness underlying everything." -- How a C manual referred to a "pointer to void." --Things People Said
Resist Windows XP''s Invasive Production Activation Technology!
http://druidgames.cjb.net/
Bl4ckTh0rn
Bl4ckTh0rn
select is async...and multithreading might be an unessesary step. Check out fcntl(). And also, there is no reason at all why you cant use async in a console app. While windows apps use WSAAsyncSelect(), a console app can implement the BSD select() call just like in a *nix app.
win32mfc
win32mfc
Here''s a function you can use to toggle a SOCKET between blocking and non-blocking mode.

  
//

// Set Socket Blocking Mode

// sock = SOCKET Handle

// mode = 0 for BLOCKING, 1 for NON-BLOCKING

//

BOOL SetSocketBlockingMode(SOCKET sock, int mode)
{
unsigned long lmode = mode;

if(ioctlsocket(sock, FIONBIO, &lmode) == SOCKET_ERROR)
return(FALSE);

return(TRUE);
}


// CHRIS
// CHRIS [win32mfc]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.