Linux 进程间套接字通信(Socket)基础知识

网上科普有关“Linux 进程间套接字通信(Socket)基础知识”话题很是火热,小编也是针对Linux 进程间套接字通信(Socket)基础知识寻找了一些与之相关的一些信息进...

网上科普有关“Linux 进程间套接字通信(Socket)基础知识”话题很是火热,小编也是针对Linux 进程间套接字通信(Socket)基础知识寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

姓名:罗学元 学号:21181214375 学院:广州研究院

嵌牛导读Linux进程间套接字通信基础

嵌牛鼻子Linux 进程间套接字及通信介绍

嵌牛提问Linux进程间套接字包含哪些内容,如何实现通信

一、套接字(Socket)通信原理

套接字通信允许互联的位于不同计算机上的进程之间实现通信功能。

二、套接字的属性

套接字的特性由3个属性确定,它们分别是:域、类型和协议。

1. 套接字的域

它指定套接字通信中使用的网络介质,最常见的套接字域是AF_INET,它指的是Internet网络。当客户使用套接字进行跨网络的连接时,它就需要用到服务器计算机的IP地址和端口来指定一台联网机器上的某个特定服务,所以在使用socket作为通信的终点,服务器应用程序必须在开始通信之前绑定一个端口,服务器在指定的端口等待客户的连接。

另一个域AF_UNIX表示UNIX文件系统,就是文件输入/输出,它的地址就是文件名。

2. 套接字类型

因特网提供了两种通信机制:流(stream)和数据报(datagram),因而套接字的类型也就分为流套接字和数据报套接字。我们主要看流套接字。

流套接字由类型SOCK_STREAM指定,它们是在AF_INET域中通过TCP/IP连接实现,同时也是AF_UNIX中常用的套接字类型。

流套接字提供的是一个有序、可靠、双向字节流的连接,因此发送的数据可以确保不会丢失、重复或乱序到达,而且它还有一定的出错后重新发送的机制。

与流套接字相对的是由类型SOCK_DGRAM指定的数据报套接字,它不需要建立连接和维持一个连接,它们在AF_INET中通常是通过UDP/IP实现的。它对可以发送的数据的长度有限制,数据报作为一个单独的网络消息被传输,它可能丢失、复制或错乱到达,UDP不是一个可靠的协议,但是它的速度比较高,因为它并不需要总是要建立和维持一个连接。

3.套接字协议

只要底层的传输机制允许不止一个协议来提供要求的套接字类型,我们就可以为套接字选择一个特定的协议。通常只需要使用默认值。

三、套接字地址

每个套接字都有其自己的地址格式,对于AF_UNIX域套接字来说,它的地址由结构sockaddr_un来描述,该结构定义在头文件

struct sockaddr_un{

sa_family_t sun_family;? //AF_UNIX,它是一个短整型

char sum_path[];? //路径名

};

对于AF_INET域套接字来说,它的地址结构由sockaddr_in来描述,它至少包括以下几个成员:

struct sockaddr_in{

short int sin_family;? //AN_INET

unsigned short int sin_port;? //端口号

struct in_addr sin_addr; //IP地址

}

而in_addr被定义为:

struct in_addr{

unsigned long int s_addr;

}

四、基于流套接字的客户/服务器的工作流程

使用socket进行进程通信的进程采用的客户/服务器系统是如何工作的呢?

1.服务器端

首先,服务器应用程序用系统调用socket来创建一个套接字,它是系统分配给该服务器进程的类似文件描述符的资源,它不能与其他的进程共享。

接下来,服务器进程会给套接字起个名字,我们使用系统调用bind来给套接字命名。然后服务器进程就开始等待客户连接到这个套接字。

然后,系统调用listen来创建一个队列,并将其用于存放来自客户的进入连接。

最后,服务器通过系统调用accept来接受客户的连接。它会创建一个与原有的命名套接不同的新套接字,这个套接字只用于与这个特定客户端进行通信,而命名套接字(即原先的套接字)则被保留下来继续处理来自其他客户的连接。

2.客户端

基于socket的客户端比服务器端简单。同样,客户应用程序首先调用socket来创建一个未命名的套接字,然后讲服务器的命名套接字作为一个地址来调用connect与服务器建立连接。

一旦连接建立,我们就可以像使用底层的文件描述符那样用套接字来实现双向数据的通信。

关于“Linux 进程间套接字通信(Socket)基础知识”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[寄山少爷]投稿,不代表小熊号立场,如若转载,请注明出处:https://xx-scm.com/cshi/202604-179442.html

(124)

文章推荐

  • 教程辅助!中至窝龙究竟有挂吗”实测确实有挂

    中至窝龙究竟有挂吗网上科普有关“中至窝龙究竟有挂吗”话题很是火热,小编也是针对中至窝龙究竟有挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,中至窝龙究竟有挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都

    2025年04月08日
    73
  • 教程辅助!新超凡大厅是不是有挂”果然有挂

    新超凡大厅是不是有挂网上科普有关“新超凡大厅是不是有挂”话题很是火热,小编也是针对新超凡大厅是不是有挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,新超凡大厅是不是有挂这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏

    2025年04月09日
    82
  • 推荐一款“四川麻将血战到底老是输(透视挂真的假的)

    网上科普有关“四川麻将血战到底老是输”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,四川麻将血战到底老是输这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会

    2025年05月11日
    47
  • 三鑫联盟有透视挂吗”其实确实有挂

    三鑫联盟有透视挂吗网上科普有关“三鑫联盟有透视挂吗”话题很是火热,小编也是针对三鑫联盟有透视挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,三鑫联盟有透视挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都

    2025年05月19日
    41
  • 实测辅助”中至抚州麻将怎么装挂”果然有挂

    中至抚州麻将怎么装挂网上科普有关“中至抚州麻将怎么装挂”话题很是火热,小编也是针对中至抚州麻将怎么装挂寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,中至抚州麻将怎么装挂这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏

    2025年05月19日
    53
  • 6秒懂!双盈休闲究竟可以开挂吗(开挂神器怎么用)

    双盈休闲究竟可以开挂吗网上科普有关“双盈休闲究竟可以开挂吗”话题很是火热,小编也是针对双盈休闲究竟可以开挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,双盈休闲究竟可以开挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在

    2025年06月01日
    31
  • 6秒懂!天天麻将怎么控制输赢”确实真的有挂

    网上科普有关“天天麻将怎么控制输赢”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,天天麻将怎么控制输赢这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会发现

    2025年06月09日
    37
  • 6秒懂!逗娱碰胡真的有挂吗”果然有挂

    逗娱碰胡真的有挂吗网上科普有关“逗娱碰胡真的有挂吗”话题很是火热,小编也是针对逗娱碰胡真的有挂吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,逗娱碰胡真的有挂吗这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都

    2025年06月27日
    51
  • 辅助开挂工具“途游哈尔滨麻将怎么开挂”实测确实有挂

    网上科普有关“途游哈尔滨麻将怎么开挂”话题很是火热,小编也是针对同城衡阳字牌作弊开挂的方法寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,途游哈尔滨麻将怎么开挂这款游戏可以开挂的,确实是有挂的,通过微信【游戏】很多玩家在这款游戏中打牌都会

    2025年07月04日
    30
  • 玩家必搜“麻将匹配有挂没有”确实真的有挂

    麻将匹配有挂没有网上科普有关“麻将匹配有挂没有”话题很是火热,小编也是针对麻将匹配有挂没有寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。  您好,麻将匹配有挂没有这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都会发现很

    2025年08月28日
    11

发表回复

本站作者后才能评论

评论列表(4条)

  • 寄山少爷
    寄山少爷 2026年04月15日

    我是小熊号的签约作者“寄山少爷”!

  • 寄山少爷
    寄山少爷 2026年04月15日

    希望本篇文章《Linux 进程间套接字通信(Socket)基础知识》能对你有所帮助!

  • 寄山少爷
    寄山少爷 2026年04月15日

    本站[小熊号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 寄山少爷
    寄山少爷 2026年04月15日

    本文概览:网上科普有关“Linux 进程间套接字通信(Socket)基础知识”话题很是火热,小编也是针对Linux 进程间套接字通信(Socket)基础知识寻找了一些与之相关的一些信息进...