网络编程:

什么是网络编程?

网络:它是一种隐形的媒介;可以将多台计算机使用(将它们连接到一起)

网络编程:将多台计算机之间可以相互通信了(做数据交互)

一旦涉及到网络编程,划分为两个方向存在,一方我们称为客户端(cilent),一方我们称为服务端(server)

冲浪概念(上网),打开浏览器举例:访问百度页面

我们可以认为是浏览器的进程和百度服务器之间进行数据交互

IP:

IP地址的作用:

如果我们需要上网,每台计算机都需要有一个唯一的识别号(标识),就需要用到ip的概念

【注意事项】:

ip地址是每台计算机在网络中的唯一识别(切记)

但是在最初人们是考虑到使用主机名(计算机名称)来查找在网络中直接对应的计算机;

可以多态计算机之间可能存在主机名重复的现象,伴随着完全隐患;

所以我们就舍弃了使用主机名作为计算机的识别,改而使用ip;

如何查看ip(有两种方式):

1).通过控制台 --> 启动cmd,输入ipconfig指令

2).打开网络共享 --> 选择更改适配器设置,选择属性,点击ipv4(双击操作),可以看到ip的信息

对于ip的获取有两种方式:

1).自动获取ip地址

2).手动获取ip地址

ip地址由4个网段组成:

其本质为:

4个字节的二进制数据的组合

二进制数据:10110101110101001000111110101001

十进制数据:数据1数据2数据3数据4

对于每个网段的数据设置有相应的要求:必须是0~255之间

由于每个网段数字都是由1个字节翻译得到的十进制数据,所以最大数值只能为255

以下内容作为尝试需要知道:

1).ping指令:

2).127.0.0.1:本机回环地址(解析为本机的ip),理解:相当于localhost

3).xxx.xxx.xxx.255:广播地址

端口:

一台计算机可能装有很多的应用程序,如果我们需要去实现网络编程,

那么两台计算机之间程序的数据交互需要通过端口号来找到需要的那款程序

总结:端口号可以理解为电脑中的程序(软件)的唯一标识

范围:0~65535之间

【注意】:0~1024之间的端口我们不能直接使用,因为它们被常用的一些服务所占用了

常见的一些端口号如下:

http:80

ftp:21

smtp:25

1024~65535之间的端口:

mysql:3306

redis:6379

网络编程:

分类:

osi参考模型:(七层)

tcp/ip参考模型:(四层)

python六十七课——网络编程(基础知识了解)
只要理解传输层的作用,确定使用到底是tcp还是udp协议(规则),进行数据传输 socket(套接字): python将网络编程观想的函数都封装到了socket模块中,我们只需要导入socket即可使用 代码核心: 不管是client还是server,获取/得到socket对象才是关键,然后可以调用send或者recv等函数实现操作 返回目录

python六十七课——网络编程(基础知识了解)的更多相关文章

  1. C#网络编程基础知识

    C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...

  2. 1.unix网络编程基础知识

    接触网络编程一年多了,最近在系统的学习vnp两本书,对基础知识做一些总结,希望理解的更透彻清晰,希望能有更多的沉淀. 1.套接口地址 针对IPv4和IPv6地址族,分别定义了两种类型的套接口地址:so ...

  3. windows socket网络编程基础知识

    下面介绍网络7层协议在WINDOWS的实现: 7层协议 WIN系统 ________________________________________ 7 应用层 7 应用程序 ____________ ...

  4. 【Java基础】Java网络编程基础知识

    什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...

  5. JAVA网络编程基础知识

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  6. JavaSE——网络编程基础知识

    计算机网络的分类: 局域网(LAN) 指在一个较小地理范围内的各种计算机网络设备互联在一起的通信网络,可以包括一个或多个子网,通常局限在几千米的范围之内. 城域网(MAN) 主要由城域范围内的各个局域 ...

  7. python网络编程基础知识整理

  8. Windows网络编程基础知识

    1.WinSock的初始化 #include<iostream> #include<WinSock2.h> #include<MSWSock.h> #pragma ...

  9. 大数据学习笔记——Java篇之网络编程基础

    Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...

随机推荐

  1. 先装IIS后装.Net Framework

    1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...

  2. springMVC_01认识springMVC

    一.   MVC作用 将url映射到java类或者java类的方法 封装用户提交的数据 处理请求,调用相关业务处理,封装响应的数据 将响应数据进行渲染 一.   SpringMVC 是一个轻量级的,基 ...

  3. python面向对象学习(一)基本概念

    目录 1. 面向对象基本概念 1.1 过程和函数 1.2 面相过程 和 面相对象 基本概念 2. 类和对象的概念 1.1 类 1.3 对象 3. 类和对象的关系 4. 类的设计 大驼峰命名法 4.1 ...

  4. [算法总结] 13 道题搞定 BAT 面试——字符串

    1. KMP 算法 谈到字符串问题,不得不提的就是 KMP 算法,它是用来解决字符串查找的问题,可以在一个字符串(S)中查找一个子串(W)出现的位置.KMP 算法把字符匹配的时间复杂度缩小到 O(m+ ...

  5. canvas-6shadow.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. java框架之spring

    一.HelloWorld程序 导入四个核心包(core.beans.expression.context)和一个logging的包: 写一个类并在 xml 中配置相应的bean(两个重要属性 id 和 ...

  7. HDU1521 排列组合(生成函数 背包)

    题意 链接 Sol 可以用生成函数做,也可以用组合数做. 生成函数就是无脑算一下阶乘暴力背包,然后最后再乘上\(M\)的阶乘 组合数的方法就是用类似背包的转移,转移的时候考虑当前放的这几个的方案数即可 ...

  8. 关于Object数组强转成Integer数组的问题:Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;

    一.当把Object数组,强转的具体的Integer数组时,会报错. 代码如下: //数组强转报错演示 Object[] numbers = {1,2,3}; Integer[] ints = (In ...

  9. 13张动图助你彻底看懂马尔科夫链、PCA和条件概率!

    13张动图助你彻底看懂马尔科夫链.PCA和条件概率! https://mp.weixin.qq.com/s/ll2EX_Vyl6HA4qX07NyJbA [ 导读 ] 马尔科夫链.主成分分析以及条件概 ...

  10. LNMP的配置与优化

    一.LNMP的下载 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安 ...