[ENet-discuss] problem creating enet host

Martin Zemblowski martin at bigheadgames.co.uk
Tue Sep 18 09:47:13 PDT 2012


I investigated a bit and looks like enet_create_host SOMETIMES fails in 
enet_socket_bind with errno message:
"Can't assign requested address"
I am passing empty string (but not null) as ip and ports in range 
12345-12445. If I use 127.0.0.1 as ip, it fails in bind socket with 
"Address already in use"

still investigating ;)



On 18/09/2012 16:53, Martin Zemblowski wrote:
> NAT part is covered by gamespy, i get two addresses of machines 
> involved. then i try to create host (not peer!) on mac and it fails 
> sometimes (question: why?). if it succeeds, then we go to making 
> connections business ;)
> Regards!
>
> On 18/09/2012 16:40, Daniel Aquino wrote:
>> Both hosts should try to send to one another at the same time from/to 
>> predefined ports.
>>
>> https://en.wikipedia.org/wiki/UDP_hole_punching
>>
>>
>>
>>
>> On Tue, Sep 18, 2012 at 11:24 AM, Martin Zemblowski 
>> <martin at bigheadgames.co.uk <mailto:martin at bigheadgames.co.uk>> wrote:
>>
>>     gamespy transport service is using udp.
>>     right now one of the player creates socket and just listens to
>>     it, another on is actively trying to connect to other party, but
>>     fails at create_host for some reasons. I am creating host in the
>>     same way on both machines.
>>
>>     I am testing connectivity on the same machines constantly, so I
>>     dont see any reason why it should work for 3 times in a row and
>>     then wouldnt... and it's a bit weird moment - creating host, i
>>     would expect it to fail when actually trying to connect
>>     :(
>>
>>
>>
>>     On 18/09/2012 16:16, Daniel Aquino wrote:
>>>     Is gamespy using tcp or udp ?
>>>
>>>     If both your players try to connect at the same time then they
>>>     should get through after a retry or two.
>>>
>>>     Although there is many types of nat's so it might not always work.
>>>
>>>
>>>
>>>     On Tue, Sep 18, 2012 at 10:37 AM, Martin Zemblowski
>>>     <martin at bigheadgames.co.uk <mailto:martin at bigheadgames.co.uk>>
>>>     wrote:
>>>
>>>         Hello!
>>>         I am using enet library in conjunction with gamespy. I use
>>>         gamespy to create socket, connect to lobby, select opponent
>>>         and do the NAT punch-through. In next step I close gamespy
>>>         socket, initialize enet library and try to create enet host
>>>         with same port (in my case I pass ip as empty string) and
>>>         then start connection to other party. It works, but not
>>>         always. I am using three computers right now: pc vista, pc
>>>         xp and mac osx 10.7.4. On mac sometimes (not always) I
>>>         cannot create enet host (even if i try to create host with
>>>         different ports, 100 retries), here's the code:
>>>
>>>         retries = 101;
>>>         enet_address_set_host (&enet.gAddress, ip);
>>>         do    {
>>>             enet.gAddress.port = port;
>>>             enet.gHost = enet_host_create (&enet.gAddress , 1 , 2, 0
>>>         ,0 );
>>>
>>>             if (enet.gHost == NULL)
>>>             {
>>>                 printf ( "An error occurred while trying to create
>>>         an ENet host(%s:%d).\n",ip,port);
>>>                 port++; // HACK
>>>             }
>>>             else
>>>                 printf( "host created.\n");
>>>             } while (enet.gHost == NULL && (--retries > 0));
>>>
>>>         Any ideas?
>>>         Thank you!
>>>         Martin
>>>
>>>
>>>         _______________________________________________
>>>         ENet-discuss mailing list
>>>         ENet-discuss at cubik.org <mailto:ENet-discuss at cubik.org>
>>>         http://lists.cubik.org/mailman/listinfo/enet-discuss
>>>
>>>
>>>
>>>
>>>     _______________________________________________
>>>     ENet-discuss mailing list
>>>     ENet-discuss at cubik.org  <mailto:ENet-discuss at cubik.org>
>>>     http://lists.cubik.org/mailman/listinfo/enet-discuss
>>
>>
>>     _______________________________________________
>>     ENet-discuss mailing list
>>     ENet-discuss at cubik.org <mailto:ENet-discuss at cubik.org>
>>     http://lists.cubik.org/mailman/listinfo/enet-discuss
>>
>>
>>
>>
>> _______________________________________________
>> ENet-discuss mailing list
>> ENet-discuss at cubik.org
>> http://lists.cubik.org/mailman/listinfo/enet-discuss
>
>
>
> _______________________________________________
> ENet-discuss mailing list
> ENet-discuss at cubik.org
> http://lists.cubik.org/mailman/listinfo/enet-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cubik.org/pipermail/enet-discuss/attachments/20120918/2bda04be/attachment.html>


More information about the ENet-discuss mailing list