在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
什么是网络编程?它是做什么的?简单解释一下,网络编程就是两台设备之间进行数据交换,最终到达通信的目的。要想深入的了解网络编程,我们必须弄清楚IP地址、端口号和网络协议这三者的概念,本文将会用最通俗易懂的例子,帮助大家理解网络编程的概念。

1、什么是网络编程?
大家应该都网购过,网购之后,这个商品是怎么到自己手上的呢?这个商品被快递公司打包,然后通过物流运输,最后根据你在购物网站上填写的地址,送到某个快递点,然后快递小哥通过你填写的手机号联系你,你就取到了快递,最后你把快递包裹拆掉,就拿到了你买的商品。
网络编程和网购很像,网络编程是两台设备之间进行数据交换,例如一台计算机(接收端)要获得另一台计算机(发送端)的数据,网络编程就是在发送端把信息通过规定好的网络协议进行组装包,通过互联网传输,通过IP地址和端口号,找到你的数据接收端,最后在接收端按照规定好的网络协议将数据包进行解析,从而提取出对应的信息,达到通信的目的。在这个例子中,发送端就像是网购的商家,接收端就是购物的自己,IP地址就像是你在购物网站上填写的地址,端口号就像是你的手机号,网络协议就像是快递的包装袋(在发送端包装数据,在接收端解析数据),最终我们就能获得想要的数据,这个过程就像是一次网购。
了解了什么是网络编程,但是又多出来三个新的概念——IP地址、端口号和网络协议,虽然他们就像是网购商品一样可以理解为快递地址、手机号和快递包装袋,但是它们到底是什么,在网络编程中又扮演什么角色?这些都是我们需要深入了解的内容。
2、网络编程三要素——IP地址
相信你肯定听过很多次“IP地址”这个词,像设置路由器,家里断网,和朋友打局域网游戏,传输文件等等这些情境下都可能会提到“IP地址”。 IP地址是什么,有什么用呢?简单来说,IP地址就像是你的家庭地址,通过家庭地址,快递能找到你,外卖也能找到你,IP地址就是计算机,服务器或者网站的位置,用户可以通过IP地址找到各个网站,找到某台计算机。IP地址是一串数字的组合,相信你应该见过,例如:192.168.1.100,这就是一串IP地址,IP地址可以让网络上的其他计算机找到你。
IP地址主要分为两种:公网IP:这个IP很厉害,每个公网IP在全球都是唯一的;内网IP(局域网IP):这个IP在教室,或者家里,公司里是唯一的。像我们平常使用的是内网IP(局域网IP),比如你要用自己的计算机控制朋友或者家里人的计算机,那你就需要知道对方在局域网内的IP地址,而公网IP则是大多数网站服务器或者游戏服务器使用的IP地址,具备公网IP的服务器可以让互联网上的所有人都能访问到,例如QQ、微信、百度它们的服务器都是使用的公网IP。
3、网络编程三要素——端口号
通过IP地址可以找到某台计算机,但是我们如果想访问的是某台计算机里的某个应用程序呢(比如:网站服务端程序)? 我们知道计算机是可以运行多个应用程序的,而要单独找到某一个应用程序通过IP地址是不够的。那通过什么呢?答案是通过IP地址+端口号。
端口其实是一个虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。假设现在你有一台计算机,计算机上部署了 10 个网站服务端程序,另外有人知道了你的IP地址,想要分别访问你的 10 个服务端程序,如何定位到这10个程序呢?通过“IP地址+端口号”就可以访问这台计算机,并定位到每一个程序,假设这10个程序的端口号分别是 1 - 10 那么就可以通过“ip地址:端口号”来访问这10个程序了,例如:192.168.20.100:1 访问的就是端口号为 1 的程序。
4、网络编程三要素——通讯协议
当我们和其他人沟通交流的时候都要使用互相能听懂的语言。计算机也一样,计算机与计算机通过网络进行数据和信息交换的时候,也要使用同样的“语言”,这个语言被称为网络通讯协议。就像语言有英语、中文、法语等等一样,网络通讯协议也有很多种类型。总的来说,网络通讯协议都是基于网络模型构建起来的,所以要真正掌握网络协议我们还需要从网络模型说起。网络模型是一个概念,是一个在制定标准时所使用的概念性框架,比如社团就是一个框架,基于社团可以构建出:文学社、计算机社团等等,网络模型也是一样,基于网络模型可以构建出各种网络通讯协议。
什么是网络编程?看到这里,想必大家心中已经有答案了。如果想学习更多关于网络编程的干货内容,尽在博学谷互动课堂~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
如何开发APP,APP开发流程是什么?
移动互联网彻底改变的人们的生活习惯,随着5G时代的带来,移动互联网必定再次成为焦点。为了抢占市场,企业对APP开发需求越来越大。那APP开发价格是多少?开发一个APP的流程又是怎样的呢?
9445
2019-08-08 14:18:03
哪种编程语言更容易学习?其职业发展前景如何?
众所周知,现在IT行业已然成为高薪的头部行业。由于互联网技术人才以实战型为主,任何专业人才均可以通过学习进入IT行业,促使互联网行业得以高速的发展。那哪种编程语言更容易学习呢?其职业发展前景如何?
8620
2019-08-13 18:18:02
程序员常用的十款开发工具推荐
工欲善其事必先利其器。对于程序员来讲,好用的开发工具可以大大提高开发效率。本文将向大家推荐程序员常用的十款开发工具,希望能帮助大家更加优雅地写出代码。这些工具分别是Arthas、ChaosBlade、Docsite、PTS、AHAS、Druid、HandyJSON、Freeline、Cloud Toolkit和Mockito,感兴趣的话就一起来看看吧!
8048
2019-11-21 14:52:28
学习编程有什么用?有哪些好处?
在这个互联网飞速发展,似乎人人都开始学习编程的时代,许多人心中还是有这样的疑问:学习编程有什么用?有哪些好处?诚然,大多数人学习编程的目的,都是想通过学习编程找到一份IT工程师的高薪工作。但是除了出于对这个行业的职位选择,我们学习编程到底有什么用呢?下面我们就来看一看,那些许多人都忽略的学习编程的好处和作用。
15581
2020-04-22 10:28:14
虚拟机软件有哪些?分别有哪些作用?
虚拟机软件有哪些?分别有哪些作用?常用虚拟机软件有Vmware和VirtualBox,模拟一个真实的计算机,如一个虚拟的电脑,对于快速学习一个新的操作系统就可以通过虚拟机来完成。
7004
2022-02-12 15:10:53
