I am not entirely sure why you would even want a password, especially of such small size, if your goal is just to entirely block connections? It may as well be a boolean flag in the host that, when set, drops all connect packets there.

Lee

Benoit Germain wrote:

Hello,

I have a situation where I want a host to communicate with remote peers normally, while at the same time ignoring incoming connection requests. I could of course put my application in a mode where I disconnect immediately peers for which I receive a CONNECT event, but I’d rather leave the peers alone and make sure I get connect events when I am ready to accept them. I was thinking that I could “short-circuit” connect commands. This could be made with a rudimentary password mechanism, as such (of course this requires the new connect data introduced in 1.3.0):

Add this in the host structure (and add proper initialization where required)

Typedef struct _EnetHost

{

…

enet_uint32 sessionPassword;

};

Add the following at the beginning of enet_protocol_handle_connect():

switch( host-> sessionPassword)

{

case 0: // session is opened, proceed

break;

case 0xffffffff: // session is locked, ignore all requests

return NULL;

default: // session is password-protected, proceed only if incoming request data matches password

if( ENET_NET_TO_HOST_32( command->connect.data) != host->sessionPassword)

return NULL;

}

Is this the proper place and way to do what I want, or should I expect bad things from this?

Regards,

Benoit.


_______________________________________________
ENet-discuss mailing list
[email protected]
http://lists.cubik.org/mailman/listinfo/enet-discuss

Reply via email to