fixed incorrect memory access
use boost::asio::address for address
check if IP address is valid
ipv4 only
Merge pull request #4 from orignal/master

Merge pull request from orignal/master