Linux 网络编程 Unix域套接字

Unix域套接字

BSD UNIX 最初引入套接字时只支持本地通信。

特点:
  • socket 也可以用于本地通信
  • 创建套接字时使用本地协议 AF_UNIX 或 AF_LOCAL
  • 流式套接字 和 用户数据报套接字
  • 和其他进程间通信方式相比使用方便,效率更高
  • 常用于前后台进程通信
相关数据结构:
  • 本地地质结构

    struct sockaddr_un
    {
        sun_family sun_family;	//协议
        char sun_path[108];		//套接字文件的路径
    };
    
    //填充地址结构体
    #include <sys/un.h>
    
    struct sockaddr_un myaddr;
    bzere(&myaddr, sizeof(myaddr));
    myaddr.sun_family = AF_UNIX;
    strcpy(myaddr.sun_path, "./mysocket");
    
TCP 流式套接字
  • 服务器端

    socket() – bind( , 本地地址, ) – listen() – accept() – recv()/send() – close()

  • 客户端

    socket() – { 可选 bind() } – connect() – recv() / send() – close()

UDP 用户数据报套接字
  • 服务器端

    socket() – bind( , 本地地址, ) – recvfrom()/sendto() – close()

  • 客户端

    socket() – { 可选 bind() } – recvfrom() / sendto() – close()

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux/Unix系统编程手册》是一本经典的系统编程参考书籍,该书主要介绍了Linux/Unix系统编程的基本概念、技术和方法。 首先,该书详细介绍了Linux/Unix系统的基本原理和工作机制,包括文件系统、进程管理、内存管理、输入输出等。通过理解这些基本原理,读者可以深入了解Linux/Unix操作系统的核心部分,为系统编程奠定坚实的基础。 其次,该书介绍了系统调用接口及其使用方法。系统调用是用户程序与操作系统之间进行交互的重要接口,通过调用系统调用完成文件读写、进程创建、信号处理等功能。在书中,读者可以学习到如何使用各种系统调用完成各种常见任务,并了解系统调用的参数和返回值的含义。 此外,该书还介绍了多进程和多线程编程技术。多进程和多线程是提高程序性能和并发性的重要手段。该书详细介绍了进程和线程的概念、创建和销毁的方法,以及进程间通信和线程同步的技术,帮助读者理解和掌握这些关键技术。 最后,该书还介绍了网络编程套接字编程。网络编程是现代计算机系统的重要方向之一,通过网络编程可以实现不同计算机之间的数据传输和通信。该书通过介绍套接字编程原理和使用代码,让读者了解如何通过套接字进行网络通信,并介绍了常见的应用层协议和网络编程的一些技巧。 总之,《Linux/Unix系统编程手册》是一本非常有价值的参考书籍,它不仅帮助读者深入了解Linux/Unix操作系统的底层原理,还提供了实践经验和案例,对于想要深入学习系统编程的开发者来说,是一本必不可少的读物。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值