浅谈【网络编程】之Unix与多路复用

目录

1、Unix域协议

2、多路复用

select

poll / epol


谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注

没错,说的就是你,不用再怀疑!!!

希望我的文章内容能对你有帮助,一起努力吧!!!


1、Unix域协议

Unix域协议是一种 IPC 通信的方式,利用 Socket 进行进程间的通信

利用 Socket 编程接口来实现进行本地进程间的通信

Unix有自己的协议簇:

  • Unix域协议:
    • AF_UNIX / AF_LOCAL
  • Socket 套接字
    • SOCK_DGRAM 数据报套接字 UDP
    • SOCK_STRTEAM 流式套接字 TCP
  • Unix域协议,编程接口和流程同 IPV4 协议簇一样,只不过Unix协议网络地址

下面是一个小例子:

Unix_recv:

#include <iostream>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/un.h>
#include <cstring>
#include <unistd.h>

#define UNIX_PATH ("/home/thirteen/unix.socket")

int main()
{
    // 创建套接字
    int sock = socket(AF_UNIX,SOCK_STREAM,0);
    if(sock == -1)
        return -1;
    
    // 绑定地址
    struct sockaddr_un remote;
    remote.sun_family = AF_UNIX;
    strcpy(remote.sun_path,UNIX_PATH);
    
    // 连接
    if(connect(sock,(struct sockaddr*)&remote,sizeof(remote)) == -1)
    {
        close(sock);
        return -1;
    }

    // 通信
    while(1)
    {
        char buf[1024]={0};
        
        if(recv(sock,buf,1024,0) == -1&&(std::string(buf) == &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值