在线客服
扫描二维码
下载博学谷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、网络编程三要素——通讯协议
当我们和其他人沟通交流的时候都要使用互相能听懂的语言。计算机也一样,计算机与计算机通过网络进行数据和信息交换的时候,也要使用同样的“语言”,这个语言被称为网络通讯协议。就像语言有英语、中文、法语等等一样,网络通讯协议也有很多种类型。总的来说,网络通讯协议都是基于网络模型构建起来的,所以要真正掌握网络协议我们还需要从网络模型说起。网络模型是一个概念,是一个在制定标准时所使用的概念性框架,比如社团就是一个框架,基于社团可以构建出:文学社、计算机社团等等,网络模型也是一样,基于网络模型可以构建出各种网络通讯协议。
什么是网络编程?看到这里,想必大家心中已经有答案了。如果想学习更多关于网络编程的干货内容,尽在博学谷互动课堂~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学计算机需要什么基础?编程入门准备
在当下互联网时代,最需要的就是会计算机、懂编程的人才。既然这个职业市场缺口这么大,那么学计算机需要什么基础呢?或者说学计算机需要做哪些入门准备呢?第一位肯定是心态,没有强烈的学习决心和兴趣是很难学好编程的。其次,才是掌握一些专业领域的基础知识。
11488
2019-08-06 19:16:45
软件编程入门自学要学什么?零基础小白学习路线
软件编程入门自学要学什么?零基础小白需要从计算机的一些基础原理学起。总体上来看,学习的内容比较多,包括数字电路、计算机组成原理、汇编语言、计算机操作系统、计算机编译原理、离散数学、数据结构与算法、计算机网络等。本文将详细为大家讲讲零基础小白学习路线。
9685
2019-08-30 12:10:47
2020年2月IT编程语言排行榜名单有哪些变化?
2020年2月份TIOBE公布了IT行业编程语言排行,排名Top4的IT编程语言的排名没有太大变化,Java依旧稳居榜首,其次分别是C、Python、C++。IT编程语言排行前五名是 Java、C、Python、C++ 和 Visual Basic.NET。Python稳坐前三,Visual Basic.NET迅猛增长。
6029
2020-02-11 15:21:32
程序员如何避免写出烂代码?
一个优秀的程序员应该要求自己尽量写出好代码,众所周知,好的代码应该符合逻辑清晰,易于维护,整洁简单,性能优化等优点。而完全与之相反的就是我们所说的烂代码。那么,我们应该如何避免写出烂代码呢?本文将为大家总结出十条避坑准则,希望可以帮助程序员们写出更加优美简洁的代码。
5421
2020-02-24 16:26:27
Android基础知识点面试复习整理
相信很多小伙伴在准备面试复习的时候,都会因为没有建立自己系统的知识结构,而常常翻开书本马冬梅,合上书本马什么梅。出现这样的情况并不是个例,因此大家应该努力建立自己的Android知识体系,这样多复习几遍,一些重难点就能了熟于胸了。本文为大家整理了一套全面的Android基础知识点,有面试复习需要的小伙伴赶紧收藏起来吧~
6132
2020-04-29 11:48:25