Not sure I follow, ENet is a layer ontop of UDP/IP, not TCP/IP.
ENet sends periodic ping packets and if no answer is returned in a given
time, it timeouts the other end.
The behaviour Soren mentions must be something else, a bug perhaps.
On 2012-11-12 16:23, Jay Sprenkle wrote:
I've also seen this behavior while using c# .net code.
Detecting disconnects is problematic while using tcp/ip because of the
design.
Here's what I came up with:
Send something to the client and if it does not answer within a
reasonable time then assume it's down or disconnected.
When you try to connect immediately after another connection failed in
an indeterminate state it seems to occasionally drop you immediately.
If this happens retry the connection from the client. This seems to
recover from the indeterminate state.
On Sun, Nov 11, 2012 at 12:59 PM, Soren Dreijer <[email protected]
<mailto:[email protected]>> wrote:
Hey guys,
I'm trying to track down an issue in one of my ENet server
daemons. I'm not sure if this is an issue in my code or in ENet's,
but I wanted to put some feelers out to see if any of you have
experienced something similar.
Basically, what's happening is that a client fails to connect to
the server from time to time. From the client's perspective, the
connection is established successfully and it gets back an
ENET_EVENT_TYPE_CONNECT event from ENet. From the server's
perspective, however, an ENET_EVENT_TYPE_CONNECT event is never
received, but instead ENET_EVENT_TYPE_DISCONNECT is fired for the
new connection.
After taking a look at the server log, it appears the following is
happening on the server:
1.The server calls enet_peer_disconnect () with an ENetPeer object
to close the connection to a client.
2.ENet never fires an ENET_EVENT_TYPE_DISCONNECT event for this.
3.When a new (and different) client connects, ENet reuses the
other client's ENetPeer object (the object has the same memory
address), but fires ENET_EVENT_TYPE_DISCONNECT rather than
ENET_EVENT_TYPE_CONNECT.
It'd seem that the ENetPeer object is somehow in a weird state
internally in ENet.
_______________________________________________
ENet-discuss mailing list
[email protected]
http://lists.cubik.org/mailman/listinfo/enet-discuss
_______________________________________________
ENet-discuss mailing list
[email protected]
http://lists.cubik.org/mailman/listinfo/enet-discuss