python学习1-网络编程之udp_创建socket实现两电脑之间的通信

一、网络(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+<"键就是向左缩进,按"shift+>"就是向右缩进。

2,在写代码的时候,可以敲打关键字前几个字母,通过“ctrl+n”的命令进行关键字补全。

3,虚拟机网络设置成桥接之后,如果ip地址还未变成同一网段,那就使用sudo dhclient命令,大概过一段时间快的话就是几十秒,慢的话就是一分钟ip就会变成同一网段的,这个命令是指等待分配ip地址。

需学习内容:

a,mac安装虚拟机+mac安装window

b,学习对象炫耀的app滑动解锁https://www.cnblogs.com/xiamaojjie/

c,视频播放器(smplayer+屏幕录像专家)

d,思考:如何不安装虚拟机,实现服务端和客户端之间的通信

e,python文件运行命令,和python简单交互模式和高级交互模式

栗子2:实现一台电脑向另一台电脑接收数据(固定端口号):

(待持续)

ip地址:私有ip和公有ip

栗子3:同个套接字可以实现收发数据

补充:单双工(收音机),半双工(对讲机),全双工(手机)的概念,socket套接字是全双工。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章首发于个人blog欢迎指正补充,可联系lionsom_lin@qq.com原文地址:《网络是怎样连接的》阅读整...
    lionsom_lin阅读 14,194评论 6 31
  • 1. ip地址的作用 在网络中唯一标识一台主机,可以理解为"收货地址"。 2. 在windows中利用命令行查看网...
    阿姆斯小壮阅读 665评论 0 0
  • 1、OSI(Open System Interconnect):开放系统互联,是一个七层的计算机网络模型,分别为:...
    希崽家的小哲阅读 961评论 0 3
  • 1.编辑器vim 目标 能够说出vim三种工作模式 能够写出vim复制、剪切、粘贴、选中多行命令 ...
    Cestine阅读 711评论 0 1
  • Linux网络管理 笔记源于慕课网视频课《Linux网络管理》笔记内容去掉了一些没用的知识点,然后结合网上的博客进...
    _Isaac_阅读 2,078评论 0 1