unix domain socket
2012-02-01 09:10
288 查看
使用UNIX Domain Socket的过程和网络socket十分相似,也要先调用socket()创建一个socket文件描述符,address family指定为AF_UNIX,type可以选择SOCK_DGRAM或SOCK_STREAM,protocol参数仍然指定为0即可。
UNIX Domain Socket与网络socket编程最明显的不同在于地址格式不同,用结构体sockaddr_un表示,网络编程的socket地址是IP地址加端口号,而UNIX Domain Socket的地址是一个socket类型的文件在文件系统中的路径,这个socket文件有bind()调用创建,如果调用bind()时该文件已存在,则bind()错误返回。
这是和AF_LOCAL搭配使用创建本地套接字,是一种进行本地进程间IPC的方法
On Linux 2.4.22 and Solaris 9, the sockaddr_un structure is defined in the header <sys/un.h> as follows:
struct sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[108]; /* pathname */
};
On FreeBSD 5.2.1 and Mac OS X 10.3, however, the sockaddr_un structure is defined as
struct sockaddr_un {
unsigned char sun_len; /* length including null */
sa_family_t sun_family; /* AF_UNIX */
char sun_path[104]; /* pathname */
};
UNIX Domain Socket与网络socket编程最明显的不同在于地址格式不同,用结构体sockaddr_un表示,网络编程的socket地址是IP地址加端口号,而UNIX Domain Socket的地址是一个socket类型的文件在文件系统中的路径,这个socket文件有bind()调用创建,如果调用bind()时该文件已存在,则bind()错误返回。
这是和AF_LOCAL搭配使用创建本地套接字,是一种进行本地进程间IPC的方法
On Linux 2.4.22 and Solaris 9, the sockaddr_un structure is defined in the header <sys/un.h> as follows:
struct sockaddr_un {
sa_family_t sun_family; /* AF_UNIX */
char sun_path[108]; /* pathname */
};
On FreeBSD 5.2.1 and Mac OS X 10.3, however, the sockaddr_un structure is defined as
struct sockaddr_un {
unsigned char sun_len; /* length including null */
sa_family_t sun_family; /* AF_UNIX */
char sun_path[104]; /* pathname */
};
相关文章推荐
- 关于UNIX Domain Socket 编程
- Unix domain socket
- UNIX Domain Socket IPC (sockaddr_un )
- UNIX Domain Socket IPC
- linux socketpair(UNIX domain socket)
- 本地socket unix domain socket
- Unix domain socket IPC
- unix domain socket判断客户端断开连接
- Unix Domain Socket– IPC通信机制
- 如何获得unix domain socket的对端PID
- unix domain socket 进程间通信简析
- 使用socket实现进程间通信:(UNIX domain中面向连接通信)
- UNIX Domain Socket IPC
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误
- UNIX Domain Socket IPC (sockaddr_un )
- 嵌入式 (unix domain socket本地套接字)使用udp发送>=128K的消息会报ENOBUFS的错误
- Unix domain socket 简介
- UNIX Domain Socket IPC
- Linux下的IPC-UNIX Domain Socket
- (unix domain socket)使用udp发送>=128K的消息会报ENOBUFS的错误