I have some code like this : Code: After every time interval INTERVAL : - Create a socket, set its callback method, and send PING message to this socket. Actually my code is the modified version of SimplePing (http://developer.apple.com/library/mac/#samplecode/SimplePing/Introduction/Intro.html The weird thing is : - If INTERVAL is big number (Eg, 0.5s), then everything works fine. The callback is called for every packet that is sent. - If INTERVAl is small (Eg, 0.02s), then the callback is always called for the first 50 packets. Callback is not called for all later packets. I'm not sure but i think there's something special about this number "50". I've run this app many times and it's always the same.