add .gitignore
make ip optional to reduce inputs for test
rename cmain.cpp to client_main.cpp smain to server_main
ignore tags
rewrite test using reactor pattern