二者的佔用的內存大小是一致的,因此可以互相轉化,從這個意義上說,他們並無區別。
sockaddr常用於bind、connect、recvfrom、sendto等函數的參數,指明地址信息。是一種通用的套接字地址。
而sockaddr_in 是internet環境下套接字的地址形式。所以在網絡編程中我們會對sockaddr_in結構體進行操作。使用sockaddr_in來建立所需的信息,最後使用類型轉化就可以了。
sockaddr和sockaddr_in包含的數據都是一樣的,但他們在使用上有區別:
程序員不應操作sockaddr,sockaddr是給操作系統用的
程序員應使用sockaddr_in來表示地址,sockaddr_in區分了地址和端口,使用更方便。