full duplex client-server codes