socket编程(一)

Day43 socket编程(一)

什么是socket编程,如何编写服务器socket端,TCP服务端代码示例,TCP客户端代码实现

09-04侠课岛    基础入门       

后端/后端/Python 由浅入深入门 14     0     234

总结

1.什么是socket编程

  • socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求;

  • socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作;

  • 线程之间的通信形式有:event时间lock锁信号量queue队列等;

  • 进程之间的通信,一般使用套接字,套接字的IPC方式使得跨平台之间的进程通信成为可能,最早的socket是在BSD-Unix平台上发布,最终成为了行业标准,使得计算机之间的通信变得非常简单;

2.socket( )类详解

  • 套接字格式:socket(family, type[,protocal]) 使用给定的套接族,套接字类型,协议编号(默认为0)来创建套接字 ;

  • socket.AF_UNIX:用于同一台机器上的进程通信(既本机通信);

  • socket.AF_INET:用于服务器与服务器之间的网络通信;

  • socket.AF_INET6:基于IPV6方式的服务器与服务器之间的网络通信;

  • socket.SOCK_STREAM:基于TCP的流式socket通信;

  • socket.SOCK_DGRAM:基于UDP的数据报式socket通信;

  • socket.SOCK_RAW:原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以,其次SOCK_RAW也可以处理特殊的IPV4报文,此外,利用原始套接字,可以通过IP_HDRINCL套接字选项由用户构造IP头;

  • socket.SOCK_SEQPACKET:可靠的连续数据包服务;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

14

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?