python网络编程笔记

网络分类:局域网LAN,范围可以是几米到10公里范文内,特点:连接范围窄,用户较少,配置容易,连接速率高
城域网MAN:一个城市中,范围10~100公里内与LAN相比扩展距离长,连接计算机多
广域网WAN:覆盖范围更广,将不同城市的LAN或MAN进行互联,可以从几百到几千公里,距离长,信息衰减比较严重,一般要租用专线,通过IMP(接口信息处理)协议和线路连接起来
互联网:把LAN,WAN,MAN互联在一起,始于1969美国的阿帕网APPA,以一组通用的协议相连。
OSI模型:为了使不同计算机厂家的计算机能相互通信,1978年提出osi,将计算机网络体系结构的通信协议化为七层,自下而上为物理层,网络链路层,网络层,传输层,会话层,表示层,应用层,前三是针对硬件,传输层用于完成数据传送服务,后三层面向用户
ip地址分类 c类:192.0.1.1~223.255.255.254
端口:公认端口0~1023
动态端口 1024~65535
网络编程三要素:ip 端口 协议
tcp三次握手协议 类似于打电话,对传输的数据大小没有限制,速度会慢一点(接听需要时间)(发送请求,获取反馈,建立连接)
UDP 类似于发短信,对数据大小有限制,不保证对方一定会接收消息,不用建立连接,所以速度快一点

Socket(套接字)实现不同主机之间的进程间通信,
python中socket模块下的socket(AddressFamily,Type):第一个参数可以选择AF_INET(用于internet进程间通信)或AF_UNIX(用于同一台机器进程通信),通常用AF_INET;type可以是
SOCK_STREAM(用于TCP协议)或SOCK_DGRAM(UDP协议)
参数不写的话默认TCP协议
socket模块下的常用函数
服务器端:bind(address)address以元祖形式绑定地址(host,port)
listen(backlog)开始监听,参数表示最大连接数量,至少为1,一般设为5就可以了
accept()被动接受tcp客户端连接,等到连接的到来,返回connection对象,以元祖形式显示
客户端的:connect(address)初始化tcp服务器连接
公共用途的:recv(bufsize[,flags]】)接受tcp数据,以字符串返回,设置为1024的倍数
flags提供有关消息的其他信息,通常可以忽略下同
recvfrom(bufsize)接收udp数据与recv类似,但返回(data,address)data是包含接收数据的字符串,address是发送数据的套接字地址
send(data)发送tcp数据,将data数据发送到连接,返回值是要发送的字节数量。
sendto(data,address)发送udp数据,address指定远程地址返回值是发送的字节数
close()关闭套接字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值