美文网首页
初见Linux-socket

初见Linux-socket

作者: 哇丶九夏 | 来源:发表于2018-12-12 22:29 被阅读0次

什么叫网络编程?

就是使用网络协议,进行网络通信。
数据报->UDP 流式套接字-> TCP 原始套接字-> RAW

4个层级

应用层
通信层
IP层
链路层

为什么要分层?

每层有具体负责的任务

  • 网络接口层:MAC原地址 MAC目的地址 L/T 14字节的头。
    MAC是网卡地址,解决的是链路层的数据传输问题(局域网点对点的数据传输)。
    路由协议(BGP RIP OSPF)。
  • 网络层:IP层,解决远程的网络传输问题。
  • 传输层:TCP UDP ICMP 传输给哪个进程(应用程序)。端口,端口是哪个进程是用的。
  • 应用层:传输的数据。


    各个层的关系和大小

socket

socket原理图.png
以电话为例.png

在Linux中socket是一个特殊的文件。
socket用来进行远程的数据发送和接收。
write -->socket
read -->socket

创建socket

  • socket函数原型


    socket函数原型.jpg
  • 第一个参数用来指明socket对象所使用的地址簇或协议簇。


    参数1.png
  • 第二个参数为socket的类型


    参数2.jpg
socket(PF_INET,SOCK_STREAM,0); //IPV4 TCP
socket(PF_INET6,SOCK_DGRAM,0); //IPV6 UDP
socket(PF_INET,SOCK_RAW,PF_ICMP); //IPV4 原始套接字

设置socket

  • bind函数


    bind函数原型.png
  • 第二个参数是一个指向sockaddr结构的指针。struct sockaddr只是提供地址类型规范,根据不同的应用,sockaddr需要选用不同的类型。


    参数2.png
  • struct sockaddr 用来在函数间传递 struct sockaddr_in 用来使用数据的。
  • inet_pton()把字符串地址转化成可用IP地址。
  • 网络字节序转化函数:网络字节序<---->内存字节序
    -本地转网络
    htons -- short
    htonl--int
    -网络转本地
    ntons -- short
    ntonl -- int
  • 设置好之后需要开启服务器监听
    listen(fd,LISTSIZE);
    -监听句柄:同时监听等待多个新的链接。相当于邮局
    -链接句柄:服务器和客户端的通信。相当于邮递员

使用socket

  • accept
  • write
  • read

相关文章

  • 初见Linux-socket

    什么叫网络编程? 就是使用网络协议,进行网络通信。数据报->UDP 流式套接字-> TCP 原始套...

  • 初见

    初见,曾经的自己 初见,曾经的回忆 初见,曾经的时光 初见,曾经的生活 初见,曾经的书籍 初见,曾经的故人 初见,...

  • 随笔三十|初见

    初见 是前世未完的承诺 初见 是心灵给予的嘱托 初见 是夜夜想念的积淀 初见 是尚未耕耘的心田 初见 是...

  • 停留在三月

    三月是一场初见初见 荒芜中萌发的绿初见 苍凉中乍现的暖初见 柳枝摇曳的柔初见 桃蕊含羞的甜 怎能忘记初见—...

  • 初见

    初见春风,温暖、温柔、浪漫、多情; 初见夏雨,清凉、激情、彩虹、轻狂; 初见秋霜,忧愁、悲戚、沉默、释然; 初见冬...

  • 初见的爱

    初见你, 笑容可掬; 初见你, 清凉爽洁; 初见你, 幽默温暖; 初见你, 我喜欢上了你。

  • 人生若只如初见

    初见美好,初见何求,茫茫人海,与谁相遇都是缘分。 初见那时花开,初见那时花落,初见那时的新奇,一点一滴...

  • 初见

    初见的春是万物复苏 初见的夏是生机勃勃 初见的秋是硕果累累 初见的冬是银装素裹 初见的你是文质彬彬 初见的他是滔滔...

  • 初初见你

    初初见你,后庭花开。 初初见你,春意盎然。 初初见你,抚枝含笑。 初初见你,花开不如你眉眼的笑。 初初见你,温暖的...

  • 【原创】花何日初见春,春又何日初见花?只是花半溢唐风宋韵

    若只初见 风何时来 又何时初见 都在四季间舒展 花何日初见春 春又何日初见花 只是花半溢唐风宋韵 明月何时照我初见...

网友评论

      本文标题:初见Linux-socket

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