Ваш вопрос об использовании одного и того же сокета на самом деле не имеет никакого смысла, поскольку предположительно клиент и сервер являются отдельными процессами, поэтому они не могут использовать один и тот же сокет. Для сервера вы обычно создаете сокет, затем bind
для определенного порта и accept
соединений. Для клиента вы создаете сокет и connect
по указанному адресу (IP-адрес и пара портов для соединения TCP / IP).
На одном устройстве могут одновременно работать TCP-сервер и клиент. Вы можете запустить сервер, прослушивающий определенный порт, а затем подключить клиент к одному и тому же порту, и две программы будут взаимодействовать друг с другом.