python中的网络编程

1、网络编程
什么是网络编程?
进程,一个程序、一个软件就是一个进程,网络编程就是两个电脑之间进程的交互
上网:打开百度,就是浏览器和百度服务器交互的过程
打游戏:就是王者荣耀进程和腾讯服务器交互的过程
发qq、发视频:都是本地进程和服务之间的交互
这些交互都是网络编程的概念
TCP\IP协议:其实是一个协议簇,计算机网络
ip地址:10.8.154.2 v4, v6
255.255.255.255
4个字节,一共32位,每一个字节的范围是0-255
查看ip地址:
windows:ipconfig
linux: ifconfig
端口号:端口号是什么?
上网实例
浏览器(ip地址) 百度服务器(ip地址)
请求怎么发过去
浏览器找到百度服务器的ip地址,然后发送数据包
www.baidu.com 域名 100.1.1.1
服务器怎么接收
根据端口号来区分发送给哪个进程
一个进程起来之后,系统都会为其分配一个端口号
端口号使用两个字节表示
0-65535
0-1024 : 常用服务的端口,已经被占用
http: 80
smtp: 25
ftp: 21
ssh: 22
1025-65535 : 这些你可以自己指定
mysql: 3306
redis: 6379
ip+端口就是网络编程的核心,可以确定要发送给哪一个计算机上面的哪一个进程
socket : 实现网络编程的方式,套接字
2、TCP
特点:面向连接(打电话)、可靠、慢
比如游戏 tcp
客户端 服务端
tcp建立连接,需要创建一个通道,3次握手
客户端 服务端
a b
a:b,能听见我说话吗
b:能,a,你能听见我说话吗
a:我能,咱两开始交互吧
TCP客户端代码
TCP服务端
TCP客户端、服务端交互
3、UDP
特点:面向无连接(写信)、不可靠、快
实时性要求、对数据要求不是很严谨的,比如视频、飞秋

UDP客户端
UDP服务端
UDP客户端、服务端交互

4、深浅拷贝
内存:手机,8g,iphone 2g iOS系统 macOS
内存管理, 罗永浩
Python程序猿,不用知道(了解)
java 号称没有指针(操作内存的)
地址:为了方便管理内存,给内存每个字节起了一个编号,这个编号就叫做地址
指针:是一个变量,这个变量使用来用存放地址的(引用)
Python里面所有东西都是指针
a = Dog()

内存管理:内存得到合理及时的释放
    引用计数机制
    用计数来判断这段空间是否需要被释放,只要计数不为0,空间一直保存
判断两个变量是不是指向同一个地方
    is
深浅拷贝
    深浅拷贝指的就是里面的列表要不要拷贝,拷贝了就是,深拷贝,不拷贝就是浅拷贝
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值