java引发的思考——网络编程初解
我们先看看百度百科的定义:
网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用,编程人员可以不用考虑……
网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的!中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一些处理!
代码,开发工具,数据库,服务器架设和网页设计这5部分你都要接触
这里百度总结得很精简,就是消息的发送,传输和接收。想要解开这层薄薄的面纱,我们有必要咬文嚼字一下,“网络编程”,“编程”我们都清楚,就是写代码,实现特定的功能,我们已经做了几年,但是“网络”这个词汇,是我们最熟悉的陌生人,我们天天使用网络,现在要和它打交道,在其之上要写代码了,我们就很有必要研究研究这个庞然大物的构造!
首先,我们清楚一个概念,计算机网络是怎么构成一个网的,在生活中,构成网需要两个东西,线和节点,在计算机也不例外,我们计算机的网络就是以计算机为节点,用各种线连接起来的的大网络!
就像我们有很多国家,有繁多的语言文字一样,计算机网路要想交流,就必须解决语言相通的问题,A电脑给B电脑发了个消息,说要工作了,结果B电脑翻译成你休息吧,这就出糗了!而我们将这样大家为了解决语言相通,将符号代表的含义称之为协议或者标准!
解决了说话的问题,其实还有很多问题没解决,比如两台电脑是网线连接的还是无线连接的,无线的还分家用路由或者卫星接入等等问题,为了解决一系列的问题,国际标准化组织制定了一系列的解决方案,我们称之为OSI(Open System Interconnect)开放式系统互联。
我们没有必要现在研究透他的每个协议的具体内容,我们只需要知道他就行了,因为我们知道,国际标准化组织将这一切封装好后,网络编程变得更简单,高效了!因为我们不再关心它使用的是什么协议,也不用关心是什么介质传输的,我们只需要在顶层构建我们代码就行了!
通过一幅图,模拟qq的消息推送,我们来看看网络中信息的传送:
ip:就是电脑在网络上的身份装号码!
协议:协议我们阐述过,记得他是解决不同语言的问题就好!
端口:端口就是这个程序向网络中发送消息的标识,证明这个消息是它发的,相反,如果有消息是向这个端口送的,就肯定是这个程序的!
数据包:我们编写的程序,要向网络中发消息,我们就要遵守一些协议,改变成计算机可以传输的语言(就是0和1),有时候消息太大,我们还要拆成几个去传,而且我们要给这个消息附加自己的标识,类似于身份证等等工作,等着一切做完,我们发送的消息就像一个个包裹一样,在网络上运输!
熟悉完这些概念,网络其实也就不那么神秘了,我们怀着这颗好奇的心,就会不断学习和认识这个世界,这个世界就会越来越清晰,当我们知道,我们不知道的像海洋一样大的时候,证明我们已经不是当初小溪中的小虾,而是遨游在海洋中的大鱼!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。