注:一下内容为传输层TCP/UDP上的Linux Socket编程
套接字Scoket编程
什么是套接字呢?
费曼:计算机好比人,而socket套接字好比邮箱,两个人通过邮箱来交流,都把信息(数据)都发到邮箱(socket)里,然后人再从邮箱里读取信息。
套接字地址结构:在linux/socket.h中定义
结构struct sockaddr 定义了一种通用的套接字地址
#include<linux/scoket.h>
struct sockaddr{
unsigned short sa_family; //套接字的协议族的类型 AF_xxx;
char sa_data[14]; //14字节的协议地址
};
每种协议族都有自己的协议地址格式,TCP/IP协议族的地址格式为结构体 struct sockaddr_in
#include<netinet/in.h>
struct sockaddr_in{
unsigned short sin_family; //地址类型
unsigned short int sin_port; //端口号
struct in_addr sin_addr; //ip地址
unsigned char sin_zero[8]; //填充字节
};
struct in_addr{
unsigned long s_addr;
};
TCP/IP协议值为:AF_INET