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分钟

粘包现象与解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值