sockets, clients and servers