Я пишу простую клиент-серверную программу.
Клиент отправляет некоторые сообщения на сервер, используя UDP или TCP. Сервер должен поддерживать как UDP, так и TCP.
Если клиент отправляет сообщение с использованием UDP, последовательность вызовов методов в клиенте равна socket(),bind(),sendto(),recvfrom(),close()
, а на сервере - socket(),bind(),sendto(),recvfrom(),close()
.
Если он использует TCP,
последовательность вызова на сервере
socket(),bind(),listen(),accept(),send(),recv(),close()
.
и что в клиенте есть
socket(),bind(),connect(),send(),recv(),close()
В моей программе пользователю / клиенту в начале предоставляется выбор, чтобы выбрать, что он хочет использовать UDP или TCP. Итак, моя главная проблема заключается в том, как я могу узнать или различить на стороне сервера, если клиент отправляет сообщение с использованием TCP или UDP. Если он использует TCP, я должен вызвать listen (), accept (), send (), recv ()
и если он использует UDP, я не вызываю listen (), accept (), но вызываю sendto () и recvfrom ().
Итак, как я могу различить / узнать это в начале, чтобы я мог делать соответствующие вызовы функций.
Спасибо.