<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <i>enet_peer_ping()</i>! I had no idea that existed.<br>
    <br>
    This is making me want to create better documentation for ENet even
    more. The tutorial is nice but not enough alone.<br>
    <div class="moz-signature"><br>
      <hr style="height: 1px;">
      <p><span style="font-weight: bold;">Nicholas J Ingrassellino<br>
          <a style="text-decoration: none;"
            href="http://www.lifebloodnetworks.com/" target="_blank">LifebloodNetworks.com</a></span>
        || <a style="text-decoration: none;"
          href="mailto:nick@lifebloodnetworks.com">nick@lifebloodnetworks.com</a></p>
      <p style="font-size: 75%;">"<span style="font-style: italic;">The
          idea that I can be presented with a problem, set out to
          logically solve it with the tools at hand, and wind up with a
          program that could not be legally used because someone else
          followed the same logical steps some years ago and filed for a
          patent on it is horrifying.</span>"<br>
        - <span style="font-weight: bold;">John Carmack</span> on
        software patents</p>
    </div>
    <br>
    On 11/05/2010 11:06 AM, Nuno Silva wrote:
    <blockquote
      cite="mid:AANLkTinPHPGWUGf6SL8chK1xk-d7Z0WBynYuhAkyerM5@mail.gmail.com"
      type="cite">Or you could just call enet_ping :D<br>
      At least AFAIR there's a function named like that.<br>
      <br>
      <div class="gmail_quote">On Fri, Nov 5, 2010 at 2:58 PM, Nicholas
        J Ingrassellino <span dir="ltr"><<a moz-do-not-send="true"
            href="mailto:nick@lifebloodnetworks.com">nick@lifebloodnetworks.com</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> The same thing happens
            to me if the client does nothing (no events to send, ect)
            even when calling enet_host_service() on a regular basis. I
            just added an unreliable "ping packet" every once in a while
            which solved it.<br>
            <div><br>
              <hr style="min-height: 1px;">
              <p><span style="font-weight: bold;">Nicholas J
                  Ingrassellino<br>
                  <a moz-do-not-send="true" style="text-decoration:
                    none;" href="http://www.lifebloodnetworks.com/"
                    target="_blank">LifebloodNetworks.com</a></span> ||
                <a moz-do-not-send="true" style="text-decoration: none;"
                  href="mailto:nick@lifebloodnetworks.com"
                  target="_blank">nick@lifebloodnetworks.com</a></p>
              <p style="font-size: 75%;">"<span style="font-style:
                  italic;">The idea that I can be presented with a
                  problem, set out to logically solve it with the tools
                  at hand, and wind up with a program that could not be
                  legally used because someone else followed the same
                  logical steps some years ago and filed for a patent on
                  it is horrifying.</span>"<br>
                - <span style="font-weight: bold;">John Carmack</span>
                on software patents</p>
            </div>
            <div>
              <div class="h5"> <br>
                On 11/05/2010 10:10 AM, Nuno Silva wrote:
                <blockquote type="cite">Hey there.<br>
                  On your while(true) on the client you must also call
                  enet_host_service in order for the client to keep its
                  connection alive.<br>
                  <br>
                  <div class="gmail_quote">2010/11/5 Вячеслав Блинников
                    <span dir="ltr"><<a moz-do-not-send="true"
                        href="mailto:slavmfm@gmail.com" target="_blank">slavmfm@gmail.com</a>></span><br>
                    <blockquote class="gmail_quote" style="margin: 0pt
                      0pt 0pt 0.8ex; border-left: 1px solid rgb(204,
                      204, 204); padding-left: 1ex;">Hello!<br>
                      <br>
                      I wrote the base client accordingly the tutorial
                      and the client which<br>
                      read inputting through console characters and send
                      it to the server.<br>
                      Everything is fine but just first 30 seconds -
                      then happen the<br>
                      disconnection (message "Client information
                      disconnected" shown).<br>
                      What is wrong with my code?<br>
                      <br>
                      <br>
                      <br>
                      Server code:<br>
                      <br>
                      #include <cstdio><br>
                      #include "enet\enet.h"<br>
                      int main(int argc, int** argv)<br>
                      {<br>
                             if (enet_initialize () != 0)<br>
                         {<br>
                             printf ("An error occurred while
                      initializing ENet.\n");<br>
                             goto END;<br>
                         }<br>
                             ENetAddress address;<br>
                             address.host = ENET_HOST_ANY;<br>
                             address.port = 1234;<br>
                             ENetHost* server = enet_host_create (  
                      & address, 32, 2, 0, 0);<br>
                         if (server == NULL)<br>
                         {<br>
                             printf("An error occurred while trying to
                      create an ENet<br>
                      client host.\n");<br>
                             goto END;<br>
                         }<br>
                             ENetEvent event;<br>
                      WAIT_FOR_AN_EVENT:<br>
                             enet_host_service(server, &event, 5);<br>
                             switch (event.type)<br>
                             {<br>
                             case ENET_EVENT_TYPE_CONNECT:<br>
                                     printf ("A new client connected
                      from %x:%u.\n", event.peer -><br>
                      address.host, event.peer -> address.port);<br>
                                     event.peer -> data = "Client
                      information";<br>
                                     break;<br>
                      <br>
                             case ENET_EVENT_TYPE_RECEIVE:<br>
                                     printf ("A packet of length %u was
                      received from %s on channel %u.<br>
                      Containings:\n  %s", event.packet ->
                      dataLength, event.peer -> data,<br>
                      event.channelID, event.packet -> data);<br>
                                     enet_packet_destroy (event.packet);<br>
                                     break;<br>
                      <br>
                             case ENET_EVENT_TYPE_DISCONNECT:<br>
                                     printf ("%s disconected.\n",
                      event.peer -> data);<br>
                                     event.peer -> data = NULL;<br>
                                     break;<br>
                      <br>
                             case ENET_EVENT_TYPE_NONE:<br>
                                     break;<br>
                             }<br>
                             goto WAIT_FOR_AN_EVENT;<br>
                      <br>
                             printf("host halted.\n");<br>
                      <br>
                      END:<br>
                             getchar();<br>
                             return 0;<br>
                      }<br>
                      <br>
                      <br>
                      <br>
                      Client code:<br>
                      <br>
                      #include <cstdio><br>
                      #include "enet\enet.h"<br>
                      #include <vector><br>
                      int main(int argc, int** argv)<br>
                      {<br>
                             //where reading console data will be
                      stored:<br>
                             std::vector<char> buffer;<br>
                      <br>
                             if (enet_initialize () != 0)<br>
                         {<br>
                             printf ("An error occurred while
                      initializing ENet.\n");<br>
                             goto END;<br>
                         }<br>
                             ENetHost* client        = enet_host_create
                      ( NULL, 1, 2, 57600 / 8, 14400 / 8);<br>
                             if(client == 0l)<br>
                             {<br>
                                     printf("An error occurred while
                      trying to create an ENet server host.\n");<br>
                                     goto END;<br>
                             }<br>
                             ENetAddress address;<br>
                             enet_address_set_host(&address,
                      "localhost");<br>
                             address.port    = 1234;<br>
                      <br>
                             ENetPeer* peer  = enet_host_connect(client,
                      &address, 2, 0);<br>
                             if(peer == 0l)<br>
                             {<br>
                                     printf("No available peers for
                      initiating an ENet connection.\n");<br>
                                     goto END;<br>
                             }<br>
                      <br>
                             ENetEvent event;<br>
                             if (enet_host_service (client, & event,
                      5000) > 0 && event.type ==<br>
                      ENET_EVENT_TYPE_CONNECT)<br>
                             {<br>
                                     puts ("Connection to localhost:1234
                      succeeded.");<br>
                             }<br>
                             else<br>
                             {<br>
                                     enet_peer_reset (peer);<br>
                      <br>
                                     puts ("Connection to localhost:1234
                      failed.");<br>
                                     goto END;<br>
                             }<br>
                      <br>
                             printf("Input some data which will be sent
                      to server...\n");<br>
                      <br>
                      INPUT_DATA:<br>
                             buffer.clear();<br>
                             while(true)<br>
                             {<br>
                                     char character = getchar();<br>
                                     buffer.push_back(character);<br>
                                     if(character == '\n')<br>
                                     {<br>
                                             break;<br>
                                     }<br>
                             }<br>
                             buffer.push_back('\0');<br>
                      <br>
                             ENetPacket * packet =
                      enet_packet_create(&buffer[0], buffer.size(),<br>
                      ENET_PACKET_FLAG_RELIABLE);<br>
                             enet_peer_send (peer, 0, packet);<br>
                             enet_host_flush(client);<br>
                             goto INPUT_DATA;<br>
                      <br>
                      END:<br>
                             getchar();<br>
                      <br>
                             return 0;<br>
                      }<br>
                      _______________________________________________<br>
                      ENet-discuss mailing list<br>
                      <a moz-do-not-send="true"
                        href="mailto:ENet-discuss@cubik.org"
                        target="_blank">ENet-discuss@cubik.org</a><br>
                      <a moz-do-not-send="true"
                        href="http://lists.cubik.org/mailman/listinfo/enet-discuss"
                        target="_blank">http://lists.cubik.org/mailman/listinfo/enet-discuss</a><br>
                    </blockquote>
                  </div>
                  <br>
                  <pre><fieldset></fieldset>
_______________________________________________
ENet-discuss mailing list
<a moz-do-not-send="true" href="mailto:ENet-discuss@cubik.org" target="_blank">ENet-discuss@cubik.org</a>
<a moz-do-not-send="true" href="http://lists.cubik.org/mailman/listinfo/enet-discuss" target="_blank">http://lists.cubik.org/mailman/listinfo/enet-discuss</a>
</pre>
                </blockquote>
              </div>
            </div>
          </div>
          <br>
          _______________________________________________<br>
          ENet-discuss mailing list<br>
          <a moz-do-not-send="true" href="mailto:ENet-discuss@cubik.org">ENet-discuss@cubik.org</a><br>
          <a moz-do-not-send="true"
            href="http://lists.cubik.org/mailman/listinfo/enet-discuss"
            target="_blank">http://lists.cubik.org/mailman/listinfo/enet-discuss</a><br>
          <br>
        </blockquote>
      </div>
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
ENet-discuss mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ENet-discuss@cubik.org">ENet-discuss@cubik.org</a>
<a class="moz-txt-link-freetext" href="http://lists.cubik.org/mailman/listinfo/enet-discuss">http://lists.cubik.org/mailman/listinfo/enet-discuss</a>
</pre>
    </blockquote>
  </body>
</html>