一、网络(UDP)
1,网络通信:
a,局域网(同一个网络)通信
b,互联网(万维网)通信
网络编程:让在不同电脑上面的软件能够进行数据传递,即进行通信。
2,端口号
端口号范围0-65535,1204以下的端口号不能随便用
a,知名端口(well known port):大家都默认使用的——一般情况下,大家要用到知名端口需要有root权限
FTP服务端口:21
http服务端口:80
b,动态端口(dynamic port):
之所以说是动态端口,是因为它一般不分配给某种服务,二是动态分配。
动态分配是指当一个系统程序或者应用程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用;当这个程序关闭时,同时也释放了所占用的端口号。
c,怎么查看端口号?
“nestat -an 端口号”查看端口状态
“lsof -i [tcp/udp]:端口号”
3,linux查看网卡信息
linux ifconfig之后出现的列表是网络列表,前面的类似ens40之类的名称是网卡
a、网卡有用来和其他人通信的
b、lo网卡:本地环回(安装好驱动,有没有安装好网络,想测试测试,就用这个网卡,不能和别人通信)
本地网络
关闭网卡:sudo ifconfig 网卡名字 down
启动网卡:sudo ifconfig 网卡名字 up
ps:进程——表示运行起来的程序
4,ip地址
ip地址:用来网络中标记一台电脑,比如:192.168.1.1;在本地局域网上是唯一的。
ipv4和ipv6(v指的是version)ip地址包括两部分:网络地址+主机地址
5,socket简介
栗子1:写代码实现一个电脑给另外一个电脑通信
工具1:可以用sublime进行编辑,右下角选择框选择plain text为python语言进行编辑。
工具2:直接用linux命令在控制台写python代码。
代码内容如下:
升级——带有退出功能的循环发送数据
学习get到的linux技巧(20190818)
1,用vim命令打开代码文件,如果代码缩进不是一个tab键或者是四个空格。esc进入命令行模式,输入大"V",再按上下键锁定需要缩进的行,然后按"shift+"就是向右缩进。
2,在写代码的时候,可以敲打关键字前几个字母,通过“ctrl+n”的命令进行关键字补全。
3,虚拟机网络设置成桥接之后,如果ip地址还未变成同一网段,那就使用sudo dhclient命令,大概过一段时间快的话就是几十秒,慢的话就是一分钟ip就会变成同一网段的,这个命令是指等待分配ip地址。
需学习内容:
a,mac安装虚拟机+mac安装window
b,学习对象炫耀的app滑动解锁
c,视频播放器(smplayer+屏幕录像专家)
d,思考:如何不安装虚拟机,实现服务端和客户端之间的通信
e,python文件运行命令,和python简单交互模式和高级交互模式
栗子2:实现一台电脑向另一台电脑接收数据(固定端口号):
(待持续)
ip地址:私有ip和公有ip
栗子3:同个套接字可以实现收发数据
补充:单双工(收音机),半双工(对讲机),全双工(手机)的概念,socket套接字是全双工。