[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