Вот мое понимание того, как работает клиент-серверный HTTP-сервер.
- Клиент создает сокетное соединение TCP для подключения к серверу и отправляет данные.
- Сервер создает сокетное соединение TCP для прослушивания входящих запросов.
Таким образом, похоже, что и клиент, и сервер должны договориться об использовании Transport protocol
для использования (в данном случае TCP). Но если мы хотим, чтобы веб-сайт работал по протоколу UDP / QUI C, нам нужен и клиент, и сервер, чтобы создать сокетное соединение UDP . Но некоторые сайты используют TCP, а другие используют UDP ...
Значит ли это, что это должно выглядеть так? Чтобы заранее знать, какой протокол использует веб-сайт?
if (URI == 'https://www.google.com') {
// Website that works over UDP
client.create.UDP.socket
client.sendData
server.create.UDP.socket
server.receive.data
} else {
// Website that works over TCP
client.create.TCP.socket
client.sendData
server.create.TCP.socket
server.receive.data
}
Таким образом, клиент должен вести учет того, какой веб-сайт использует TCP, а какие веб-сайты используют UDP / QUI C и создать сокет такого типа для связи с ним. это?