Recently I needed to create a client program that uses the ICMP protocol to measure round trip time (RTT) of packets going from one device to another (i.e. a ping client). This has proved to be a task that, due to it being my first foray into network programming...