fixed the bug causing first byte not to get read by socket, due to incorrect sequence number setting, and also fixed the termination
adjustments to use longs for source/destination IPs
working TCP socket and UDP DNS queries through VPN