struct sockaddr {
unsigned short sa_family; // address family, AF_xxx
char sa_data[14]; // 14 bytes of protocol address
};
W tej strukturze co dokładnie oznacza "rodzina adresów" przedstawiona przez "sa_family"?Rozumienie struct sockaddr
Czy oznacza to, że protokoły takie jak TCP/UDP mają "adresy"? Cóż, protokoły mogą być numerami identyfikacyjnymi, a nie adresami.
W każdym razie, jeśli tak, to na jakiej podstawie podzielono ich rodziny?
Dzięki, ale dlaczego w tym przypadku rozmiar adresu * jest ustawiony * 14 'sa_data [14]'? –
, a także, jeśli rozmiar jest zależny od typu protokołu, to co należy ustawić tam jako ogólny przypadek, jeśli protokół można określić w czasie wykonywania? –
Zobacz http://msdn.microsoft.com/en-us/library/ff570822%28v=vs.85%29.aspx. Stwierdza, że struktura sockaddr jest wystarczająco duża, aby zawierać adres transportowy dla większości rodzin adresów. Tak więc jest to 14 bajtów, aby było wystarczająco duże. –