Я пишу простой сервер-клиент, используя MIDL
и RPC
, чтобы разрешить передачу файлов. Это работает, когда конечная точка жестко закодирована следующим образом:
серверная часть
status = RpcServerUseProtseqEp(
reinterpret_cast<unsigned char*>("ncacn_ip_tcp"),
RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
reinterpret_cast<unsigned char*>("8888"),
NULL);
Сторона клиента
status = RpcStringBindingCompose(NULL,
"ncacn_ip_tcp",
(RPC_CSTR)"127.0.0.1",
"8888",
NULL,
NULL);
Мне интересно, могут ли несколько клиентов подключаться к одному серверу, когда конечная точка жестко запрограммирована? Как мы знаем, при программировании сокетов с использованием протокола TCP два приложения не могут одновременно подключаться к одному порту. Однако в справке MSDN
говорится, что серверный процесс RPC
использует для обработки запросов очередь вызовов в порядке поступления.
Если он не может получать несколько запросов от клиентов, есть ли способ установить пул конечных точек? Спасибо.