fixed accept problem - checks if packet is valid within the timeout loop
and only timeouts if packet is invalid (returns right away,
otherwise)... same kinda thing should be done in write, port/address
checking can be eliminated once embedded in the recv function