В программировании сокетов (я в Winsock, если это имеет значение) должно ли значение элемента структуры типа сокета (т. Е. STREAM) соответствовать значению элемента структуры протокола (т. Е. TCP)? В документации Winsock говорится, что это только возможные значения, что подразумевает «ну, они не обязательно должны совпадать (т. Е. STREAM для TCP или DATAGRAM для UDP)».
Если они не обязательно должны совпадать, при каких обстоятельствах вы сможете их не согласовать? Если они особенно должны совпадать, зачем указывать два члена структуры, если действительно одно значение определяет значение другого?