<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16890" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=093192514-11012010><FONT face=Arial 
color=#0000ff size=2>Aha, you're not on the original computer. 
:)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093192514-11012010><FONT face=Arial 
color=#0000ff size=2>In that case, depending on how many computers need to check 
how many computers, I'd opt for algorithm #1. Counting hops doesn't really say 
much I think, also depending on how much you know of the topology involved. If 
all computers are under your control, counting hops can work, but I assume 
you're talking about computers randomly on the internet?</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=093192514-11012010><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=093192514-11012010><FONT face=Arial 
color=#0000ff size=2>Ruud</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=nl dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>Van:</B> enet-discuss-bounces@cubik.org 
  [mailto:enet-discuss-bounces@cubik.org] <B>Namens </B>Jay 
  Sprenkle<BR><B>Verzonden:</B> Monday, January 11, 2010 14:58<BR><B>Aan:</B> 
  Discussion of the ENet library<BR><B>Onderwerp:</B> Re: [ENet-discuss] 
  icmp/tracert/discovering network topology?<BR></FONT><BR></DIV>
  <DIV></DIV>Thanks for the help but I think you misunderstood the problem&nbsp; 
  :)<BR><BR>I'm trying to determine if machine 'X' could communicate more 
  quickly to machine 'Y' or machine 'Z' (and you're on machine 'A'). 'A' pinging 
  'Z' won't tell you the time for 'X' pinging 'Z'. etc.<BR><BR>I 
  could:<BR><BR>Get machine X to ping machine Y and Z. This algorithm would be 
  "here's a list of machines, you figure it out."&nbsp; If there are a lot of 
  machines in the list this could be problematic and very slow to discover good 
  connections.<BR><BR>or <BR><BR>Machine 'A' tracert's machine 'X', 'Y', and 
  'Z'. It now knows the physical layout of the network and can calculate how 
  many hops there are between the machines (assuming there's only one path 
  between any two points on the internet). This algorithm would be "here's my 
  best guess about which machines will get the best response time from your 
  machine"<BR><BR>The second algorithm is based on some assumptions that may be 
  wrong and uses the assumption "more hops = bad". Some combination of the two 
  might be better. <BR><BR><BR>
  <DIV class=gmail_quote>On Mon, Jan 11, 2010 at 7:36 AM, Ruud van Gaal <SPAN 
  dir=ltr>&lt;<A href="mailto:ruud@racer.nl">ruud@racer.nl</A>&gt;</SPAN> 
  wrote:<BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>Ping is 
    what most, if not all games use to determine client-server 'distance'. The 
    number of hops doesn't say anything since the hardware involved can be 
    different greatly, resulting in processing times that vary in many 
    magnitudes.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>The only 
    way to be sure is to use ping, which is in fact relatively stable in 
    practice. Keep pinging as things progress so you always update the latest 
    ping time (taking care to avoid spikes, so slowly progressing ping time to a 
    stable value). Don't just calculate ping time once.</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>I would 
    not know of any method that relates X hops to any useful time value. If one 
    route is 9 hops, the other 20, it's certainly not sure whether one is faster 
    than the other...</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2>Ruud</FONT></SPAN></DIV>
    <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
    size=2></FONT></SPAN>&nbsp;</DIV><BR>
    <BLOCKQUOTE 
    style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(0,0,255) 2px solid; MARGIN-RIGHT: 0px">
      <DIV lang=nl dir=ltr align=left>
      <HR>
      <FONT face=Tahoma size=2>
      <DIV class=im><B>Van:</B> <A href="mailto:enet-discuss-bounces@cubik.org" 
      target=_blank>enet-discuss-bounces@cubik.org</A> [mailto:<A 
      href="mailto:enet-discuss-bounces@cubik.org" 
      target=_blank>enet-discuss-bounces@cubik.org</A>] <B>Namens </B>Jay 
      Sprenkle<BR></DIV><B>Verzonden:</B> Monday, January 11, 2010 14:12
      <DIV class=im><BR><B>Aan:</B> Discussion of the ENet 
      library<BR></DIV><B>Onderwerp:</B> Re: [ENet-discuss] 
      icmp/tracert/discovering network topology?<BR></FONT><BR></DIV>
      <DIV>
      <DIV></DIV>
      <DIV class=h5>
      <DIV></DIV>I would think the actual ping time would not be that useful. It 
      would vary considerably over time. What I was thinking was the length of 
      the route in routed hops, not physical distance, was what I needed to sort 
      by. These might measure roughly the same thing but physical organization 
      only needs one measurement.<BR><BR><BR>
      <DIV class=gmail_quote>On Mon, Jan 11, 2010 at 3:37 AM, Ruud van Gaal 
      <SPAN dir=ltr>&lt;<A href="mailto:ruud@racer.nl" 
      target=_blank>ruud@racer.nl</A>&gt;</SPAN> wrote:<BR>
      <BLOCKQUOTE class=gmail_quote 
      style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
        <DIV>
        <DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2>Hi,</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2>Isn't the ping time more important? In that case, keep ping times 
        on the server (probably already done by ENet, search the ENetPeer class) 
        and get the list from the server ordered by ping.</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff size=2>I 
        wouldn't say the distance in computers is of much use for most 
        situations.</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2></FONT></SPAN>&nbsp;</DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2>Cheers,</FONT></SPAN></DIV>
        <DIV dir=ltr align=left><SPAN><FONT face=Arial color=#0000ff 
        size=2>Ruud</FONT></SPAN></DIV><BR></DIV>
        <BLOCKQUOTE 
        style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(0,0,255) 2px solid; MARGIN-RIGHT: 0px">
          <DIV>
          <DIV lang=nl dir=ltr align=left>
          <HR>
          <FONT face=Tahoma size=2><B>Van:</B> <A 
          href="mailto:enet-discuss-bounces@cubik.org" 
          target=_blank>enet-discuss-bounces@cubik.org</A> [mailto:<A 
          href="mailto:enet-discuss-bounces@cubik.org" 
          target=_blank>enet-discuss-bounces@cubik.org</A>] <B>Namens </B>Jay 
          Sprenkle<BR><B>Verzonden:</B> Sunday, January 10, 2010 
          20:09<BR><B>Aan:</B> Discussion of the ENet 
          library<BR><B>Onderwerp:</B> [ENet-discuss] icmp/tracert/discovering 
          network topology?<BR></FONT><BR></DIV>
          <DIV></DIV></DIV>
          <DIV>
          <DIV></DIV>
          <DIV>Good morning,<BR><BR>I'm considering adding some extra features 
          to my enet based peer to peer application. I'd like the main server to 
          be smart enough to discover which peers have the shortest connection 
          path to each other. When a peer requests a list of other peers to 
          connect to then the server can deliver an optimal list. The only way I 
          could think of to implement this would be to do a tracert to each peer 
          and sort the list of peers by what common paths they share. Has anyone 
          done icmp packets with enet? I know it's not it's intended function 
          but it doesn't seem like it would be difficult to hack together. If 
          anyone has any better ideas on how to implement this I'd love to hear 
          them.<BR><BR>Thanks!<BR>Have a good 
        weekend<BR><BR><BR></DIV></DIV></BLOCKQUOTE></DIV><BR>_______________________________________________<BR>ENet-discuss 
        mailing list<BR><A href="mailto:ENet-discuss@cubik.org" 
        target=_blank>ENet-discuss@cubik.org</A><BR><A 
        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><BR 
      clear=all><BR>-- <BR>Cause united breaks guitars<BR><A 
      href="http://www.youtube.com/watch?v=5YGc4zOqozo" 
      target=_blank>http://www.youtube.com/watch?v=5YGc4zOqozo</A><BR><BR></DIV></DIV></BLOCKQUOTE></DIV><BR>_______________________________________________<BR>ENet-discuss 
    mailing list<BR><A 
    href="mailto:ENet-discuss@cubik.org">ENet-discuss@cubik.org</A><BR><A 
    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><BR 
  clear=all><BR>-- <BR>Cause united breaks guitars<BR><A 
  href="http://www.youtube.com/watch?v=5YGc4zOqozo">http://www.youtube.com/watch?v=5YGc4zOqozo</A><BR><BR></BLOCKQUOTE></BODY></HTML>