the socket server and client framework for protobuf