No se puede crear un socket que sirva al mismo tiempo como servidor y cliente. Forzosamente tienes que crear 2 sockets, ya que a cada uno le tienes que configurar el puerto en el que va a enviar o recibir. Ademas no se puede enviar informacion por bits, la unidad minima son bytes. Puedes enviar bytes y en el otro lado de la conexion tendrias que procesar el dato enviado por los bits que necesitas