美文网首页
Socket编程01

Socket编程01

作者: 须臾_0d97 | 来源:发表于2018-05-22 21:37 被阅读0次

    套接字概念

    Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。

    在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程。“IP地址+端口号”就对应一个socket。欲建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。因此可以用Socket来描述网络连接的一对一关系。

    套接字通信原理如下图所示:

    在网络通信中,套接字一定是成对出现的。 

    sockaddr数据结构

    strcut sockaddr 很多网络编程函数诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是sockaddr_in6,由地址族确定,然后函数内部再强制类型转化为所需的地址类型。

    相关文章

      网友评论

          本文标题:Socket编程01

          本文链接:https://www.haomeiwen.com/subject/hqmbdftx.html