Я занимаюсь разработкой клиент-серверной программы на языке C. Сервер поддерживает несколько соединений с одного порта и создает новый процесс для каждого подключенного клиента.Клиент может отправить на сервер несколько команд и получить оттуда результаты.Одной из этих команд является команда «get», которая предназначена для передачи любых файлов с сервера на клиент.(Например, get abc.txt bcd.pdf ...).
Однако эту операцию переноса следует выполнять в другом потоке.Например, если клиент запрашивает передачу 3 файлов с сервера;На стороне сервера и клиента создаются 3 разных потока.Таким образом, клиент создаст client_thread1, client_thread2, client_thread3, а сервер создаст server_thread1, server_thread2, server_thread3 для файлов.И затем первый файл будет загружен server_thread1 в client_thread1, второй файл будет загружен server_thread2 в client_thread2 и т. Д.
Это было единственное, что я застрял.Как я могу сопоставить поток сервера с потоком клиента;так что серверный поток взаимодействует только с клиентским потоком, в то время как серверная и клиентская части свободно выполняют свою работу.
Спасибо за вашу помощь.