*SIGH*
The only one avoiding a question is you.
Really?Are you sure?Well, you just proved once again you're do not read my messages.
And it's a good damn question, at that.
Which one?About idiots?Nope, I will not answer about idiots, it's too boring.About pings?I'm already answered it several times.Try to read my messages.This helps.
So answer it.
I'm already wasted lots of my time on you with almost zero result (argh, I learned that I'm idiot though, still not a bad discovery).And I'm still can't get idea, if you're kidding or just have absolutely no wish to implement this feature so absolutely refusing to read my messages and try to think how this can be implemented.And of course it is so hard to find example of any UDP-based *nix tracerouter in the google.
(P.S: The eMule implementation uses ICMP. Never think I don't know what I'm talking about. We can't use ICMP as stated above, like it or not. That's why I ask questions about *UDP* which is NOT on eMule.)
Argh, maybe finally you will take a look on Pinger.cpp (and other parts of this traceroute+ping derivative) a bit closer instead of just beating me, yep?Really this pinger (actually, all this rather ressembles well known tool, traceroute, so it is a bit more than pinger) is able to ping both ICMP and UDP.Looks like eMule itself has no UI option to choose ICMP vs UDP to use (or I was not able to fnid it).However, in sources, choice is here and at least some mods allowing to choose UDP ping instead of ICMP explicitly.Once eMule uses pretty same pinger source, UDP pinger code is here.I can see it somehow depends on Windows-specific crap to proceed ICMP replies even for UDP pings.But if you will take a few moments to google instead of beating me, you will find how to do the same for *nix sockets.
Without dealing with ICMP sockets at all - just by getting UDP socket error ECONNREFUSED.See
http://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-5.html (5.4 How can I read ICMP errors from "connected" UDP sockets?).Just one of the first references in google; almost any *nix network programming FAQs has the same entry.If you're so inclined on "what IP to ping", come on, take a look on eMule sources as well.There is answer to your question.Idiot should not learn guru how to program a traceroute part of this code but well, I'm even said where to get the answer.
(P.P.S: Idiot)
Well, as we Russians saying, "idiots are lucky".Seems to be true

.Once you have called me an idiot, my ISP has been pressed by competitors too much, so it just increased UP and DOWN speeds twice for free (wow!) and implemented some sort of QoS on it's side as well.Amazing.Please keep on calling me idiot, I'm really like how this old russian phrase works

.So, today I'm even unable to saturate my channel to get pings high, even with shaper turned off on my router.Now, I'm personally do not need this feature anymore.However, I can admit it is still may be usable for someone else if implemented - as you maybe noticed, this feature in official eMule so there is good reasons for this.
P.S.: Only one thing that I failed to understand after all: why an idiot must learn hardcore gurus how to perform UDP pings and how to obtain closest routers to ping 'em?I'm really not an expert in network programming (just have some protocols knowledge, nothing more).So this fact feels pretty strange for me.Where to this world going if an idiot should learn gurus how to program ping\traceroute crap which is very old thingies known to every IT-inclined schoolchildren?