linux网络编程之sockaddr_in和in_addr区别
生活随笔
收集整理的這篇文章主要介紹了
linux网络编程之sockaddr_in和in_addr区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、struct? in_addr
struct? in_addr就是32位IP地址。 ?
struct in_addr { union {struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;struct { u_short s_w1,s_w2; } S_un_w;u_long S_addr;} S_un;#define s_addr S_un.S_addr };?
?
2、sockaddr_in
struct sockaddr_in { short int sin_family; unsigned short int sin_port; struct in_addr sin_addr; unsigned char sin_zero[8]; };?
sockaddr_in 結構體里面包含結構體in_addr,這是他們的關系
?
?inet_addr()是將一個點分制的IP地址(如192.168.0.1)轉換為上述結構中需要的32位IP地址(0xC0A80001)
一般用法
?
struct sockaddr_in sockaddr; sockaddr.sin_family = AF_INET; sockaddr.sin_port = htons(MYPORT); sockaddr.sin_addr.s_addr = inet_addr("192.168.0.1");?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的linux网络编程之sockaddr_in和in_addr区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux网络编程之用多线程实现客户端到
- 下一篇: linux网络编程之怎么配置好unp.h