网络编程

后台开发

网络UDP

无连接,不可靠,但是速度快,可以广播?
资源开销小,每个udp包最大64K
但是可能会丢包,没有流量控制,发送方一直发送数据当网卡缓冲区接受数据满了,电脑会出现卡死,所有接收方需要及时接受数据

流量控制

TCP的流量控制

拆包

sep = ‘’ print函数输出的分隔符

ifconfig

显示或者配置网设备信息,网卡

[root@www ~]# ifconfig {interface} {up,down}  #观察与启动接口
[root@www ~]# ifconfig interface {options}    #设定与修改接口
选项与参数:
interface:网络卡接口代号,包括 eth0, eth1等
options  :可以接的参数,包括如下:
up, down :启动 (up) 关闭 (down) 
mtu      :可以设定不同的 MTU 数值,例如 mtu 1500 (单位为 byte)
netmask  :子网掩码;
broadcast:广播地址

[root@www ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:71:85:BD
      inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2555 errors:0 dropped:0 overruns:0 frame:0
      TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:239892 (234.2 KiB)  TX bytes:11153 (10.8 KiB)

      # eth0:网卡名称
      # HWaddr:网卡的硬件地址,俗称的MAC地址
      # inet addr:IPv4 的IP地址,后续的Bcast,Mask分别代表的是广播地址与子网掩码
      # inet6 addr:是IPv6的版本的IP
      # MTU:网络最大传输单元
      # RX:那一行代表的是网络由启动到目前为止的封包接收情况,packets 代表封包数、errors代表封包发生错误的数量、dropped代表封包由于有问题而遭丢弃的数量
      # TX:与 RX 相反,为网络由启动到目前为止的传送情况;
      # collisions:代表封包碰撞的情况,如果发生太多次,表明网络状况不太好
      # txqueuelen:传输数据的缓冲区的储存长度
      # RX bytes, TX bytes:总接收、发送字节总量

[root@www ~]# ifconfig eth0 192.168.100.100
# 设置eth0的ip地址为192.168.100.100

[root@www ~]# ifconfig eth0 192.168.100.100 
netmask  255.255.255.0 mtu 8000 
#设置eth0的ip地址,子网掩码,mtu

[root@www ~]# ifconfig eth0:0 192.168.50.50/24
[root@www ~]# ifconfig eth0:0 192.168.50.51/24
#在eth0网卡上再配置两个ip,相当于虚拟两个网络接口

[root@www ~]# ifconfig eth0 down
# 关闭网卡eth0

[root@www ~]# ifconfig eth0 up
# 启动网卡eth0

mac地址限制上网,发送广播,广播地址255.255.255.255或者broadcast

ping

检测网络是否正常
丢个包看能不能收到
ping 公网IP
ping 私有IP
ping 回环地址

目标编码和解码

str->bytes :encode编码
bytes->str :decode解码

目的

让不同电脑的进程能通过网络传送数据,通信

IP地址分类

  • IP地址:标记在网络中的位置
  • 分类:A类 1字节网络地址3字节主机地址,最高位是0:1.0.0. -1——126.255.255.254

127.0.0.1-127.255.255.255用于回路测试 本机IP127.0.0.1

私有IP:
就是本地局域网里的ip,对应的是公有ip,不能在互联网上访问,要想访问私有IP,需要nat转换为公有ip
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
局域网

ipv4:4个数字用,分开 2^8=255
ipv6:6个数字用:分开

dns服务器解析域名为公网IP

端口

端口就好比一座房子的门,是进出房子的必经之路
端口号从0-65535 2^16

端口分配规则:

一些【常见、知名、系统】端口:

0-1023
80 http
20/21 ftp
23
25

动态端口

是1024-65535,被系统动态分配给要通信的进程

natstat -an 查看端口

lsof -i:9090 看端口谁在用
kill -9 强制杀死进程

udp服务器绑定端口

bind方法

socket

传输层协议

所有网络上进程间通信都是底层都是用socket,相当于数据的搬运工

socket(简称 套接字) 是进程间通信的一种方式

网络编程 socket

创建socket
建立连接
发送数据
数据编码.encode 数据解码 .decode
关闭socket

udp广播

socket.setsockopt(套接字,选项,[True,False])

udp socket

客户端:
1:socket()
2:sendto()
3:recvfrom()
阻塞等到收到数据
4:close()

客户端:
1:socket()
2:bind() #绑定网卡IP,端口,把端口固定下来
3:recvfrom()
一直阻塞到收到客户端的sendto()
4:sendto()
5:close()

1:创建套接字
2:发送或者接受套接字
3:关闭套接字

补充

在windows里写汉字 ‘w’,encoding=utf-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值