socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。 Socket就是该模式的一个实现,socket即是一种特殊的文件,通过特殊的文件标识 socket id操作socket,socket对象的基本操作函数就是对其进行的操作(读/写IO、打开、关闭)。 说白了,...
(AF_UNIX,SOCK_DGRAM,0); //绑定客户端文件,不绑定则服务端无法给客户端发送消息 socket_bind($socket,$file); $pid = pcntl_fork(); //子进程接收 if($pid == 0) { while (1) { socket_recvfrom($socket,$data,1024,0,$clinetFile); if($data) { fprintf(STDOUT,"form server recv= %s ...
流字节套,类似TCP,由于socket发送缓冲区的缘故,多次write数据会被缓冲区整合为一次底层send。禁用TCP Nagle算法的方式对AF_UNIX无效。 #include <netinet/in.h> // for IPPROTO_TCP #include <netinet/tcp.h> // for TCP_NODELAY int nodelay = 1; ret = setsockopt(mSocket, IPPROTO_TCP, TCP_NODELAY,(...
{ int socket_fd = socket(AF_UNIX,SOCK_STREAM,0); if (socket_fd < 0) { perror("socket"); return -1; } struct sockaddr_un addr; memset(&addr,0,sizeof(addr)); addr.sun_family = AF_UNIX; strcpy(addr.sun_path,server_file); if (access(addr.sun_path,0) != -1) { remove...
*/$file='unix_socket';//创建socket$socket=socket_create(AF_UNIX,SOCK_STREAM,0);//连接socketif(socket_connect($socket,$file)){fprintf(STDOUT,"connect ok\n");while(1){//开两个进程,一个发送,一个接收$pid=pcntl_fork();if($pid==0){$data=socket_read($socket,128);if($data){fprintf...
一. 创建socket 创建socket,类型为AF_LOCAL或AF_UNIX,表示用于进程通信: 调用函数socket(),其原型如下: intsocket(intdomain,inttype,intprotocol); 参数: domain:指定协议族,对于本地套接字来说,值必须设置为AF_UNIX枚举值; type:指定套接字类型,可以被设置为SOCK_STREAM(流式套接字)活SOCK_DGRAM(数据报式...
- AF_INET(又称 PF_INET)是IPv4网络协议的套接字类型 - AF_INET6 是IPv6网络协议的套接字类型 - AF_UNIX 属于Unix系统本地通信 socket常见的套接字选项: int s=socket(AF_INET,SOCK_DGRAM,0); if(s==-1){ perror("create socket: "); ...
socket操作API函数 socket函数 intsocket(intdomain,inttype,intprotocol);参数:domain:指定发送通信的域 可取值:AF_UNIX:本地主机通信,与IPC类似 AF_INET:Internet地址IPV4协议 AF_INET6:Internet地址IPV6协议 type:指定socket类型 可取值:SOCK_STREAM(流套接字)、SOCK_DGRAM(数据报套接字)、SOCK_RAW(原始套接字...
#include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> // 包含了这个头文件,上面两个就可以省略 int socket(int domain, int type, int protocol); - 功能:创建一个套接字 - 参数: - domain: 协议族 AF_INET : ipv4 AF_INET6 : ipv6 AF_UNIX, AF_LOCAL : 本地套接字通...
1、 socket套接字: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read–> 关闭close”模式来操作。Socket就是该模式的一个实现, socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭). ...