在年轻人的颈项上,没有什么东西能比事业心这颗灿烂的宝珠更迷人的了。 —— 哈菲兹
初识socket网络编程,这篇文章先介绍一下简单的IPC通信
IPC通信即为本地通信,是本机进程之间的通信。
先说一下本地通信所需要的结构体
#include <un.h>
struct sockaddr_un{
int sun_family; //用于指定协议族,和socket()的第一个参数一致。
char sun_path[]; //用来存socket文件名(作为交互媒介)
}
struct sockaddr //用于做函数参数,不负责存储数据
然后是基本的函数
Socket
int socket(int domain, int type, int protocol);
socket函数是通信中最基本的函数,用来创建一个套接口。
参数domain:选择协议族
备选用宏
本地通信 | AF_UNIX/AF_LOCAL/AF_FILE |
---|---|
网络通信 | AF_INET/AF_INET6 |
参数type:选择通信类型
备选用宏
SOCK_STREAM | 字节流,用于TCP |
---|---|
SOCK_DFRAM | 数据报流,用于UDP |
SOCK_DGRAM | 用于本地通信 |
参数protocol:由于前面两个参数已经确定了通信协议,因此这个参数一般不需要,为0。
成功返回socket描述符,失败则返回-1
Bind
int bind(int sockfd,struct sockaddr* myaddr,ad