Python3学习笔记--socket编程

socket编程

什么是socket?

socket起源于Unix,而Unix/linux基本哲学就是”一切皆文件“,socket就是一种特殊的文件。都知道,计算机之间通信是通过TCP/ip协议,但具体又是怎么实现的呢?如何将数据封装成tcp/ip包呢,而socket就是做这个事情的。socket帮你把tcp/ip协议层的各种数据封装,数据发送,接收等。

服务端编程:
1、打开socket
2、绑定到一个地址和端口
3、侦听进来的连接
4、接受连接
5、读取数据

客户端编程:
1、打开socket
2、连接到一个地址和端口读取数据

family :(socket)家族
1、socket.AF_UNIX:用于本机进程间通信,为了保证程序安全,两个独立的进程之间是不能互相访问彼此的内存的,但是为了实现进程间的通讯,可以通过创建一个本地的socket来完成。
2、socket.AF_INET:网络编程有关
3、socket.AF_INET6:几乎不使用

socket type类型:
1、socket.SOCK_STREAM:#for tcp
2、socket.SOCK_DGRAM: #for udp
3、socket.SOCK_RAW:#原始套接字,普通的套接字无法处理ICMP,IGMP等网络报文,而SOCKE_RAW可以。利用原始套接字,可以通过IP_HDRINCL套接字构造IP头。

DDOS:调整内核SYN等待时间,默认是1分钟

粘包现象与解决方案

猜你喜欢

转载自blog.csdn.net/len9596/article/details/80005743