client side sockets