一、网络(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套接字是全双工。