当前位置:天才代写 > tutorial > JAVA 教程 > Java编程那些事儿9——网络编程基本

Java编程那些事儿9——网络编程基本

2017-11-12 08:00 星期日 所属: JAVA 教程 浏览:273

对付初学者,可能没有打仗过网络编程的措施员,会以为网络编程涉及的常识很高妙,很难,其实这是一种误解,当你的语法熟悉今后,其实根基的网络编程此刻已经被实现的异常简朴了。

1.4.1 网络编程是什么?

网络编程的本质是两个设备之间的数据互换,虽然,在计较机网络中,设备主要指计较机。数据通报自己没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接管别的一个设备反馈的数据。

此刻的网络编程根基上都是基于请求/响应方法的,也就是一个设备发送请求数据给别的一个,然后吸收另一个设备的反馈。

在网络编程中,提倡毗连措施,也就是发送第一次请求的措施,被称作客户端(Client),期待其他措施毗连的措施被称作处事器(Server)。客户端措施可以在需要的时候启动,而处事器为了可以或许时刻相应毗连,则需要一直启动。譬喻以打电话为例,首先拨号的人雷同于客户端,接听电话的人必需保持电话流畅雷同于处事器。

毗连一旦成立今后,就客户端和处事器端就可以举办数据通报了,并且两者的身份是等价的。

在一些措施中,措施既有客户端成果也有处事器端成果,最常见的软件就是BT、emule这类软件了。

下面来谈一下如何成立毗连以及如何发送数据。

1.4.2 IP地点和域名

在现实糊口中,假如要打电话则需要知道对应人的电话号码,假如要寄信则需要知道收信人的地点。在网络中也是这样,需要知道一个设备的位置,则需要利用该设备的IP地点,详细的毗连进程由硬件实现,措施员不需要过多的体贴。

IP地点是一个划定,此刻利用的是IPv4,既由4个0-255之间的数字构成,在计较机内部存储时只需要4个字节即可。在计较机中,IP地点是分派给网卡的,每个网卡有一个独一的IP地点,假如一个计较机有多个网卡,则该台计较机则拥有多个差异的IP地点,在同一个网络内部,IP地点不能沟通。IP地点的观念雷同于电话号码、身份证这样的观念。

由于IP地点不利便影象,所以有专门缔造了域名(Domain Name)的观念,其实就是给IP取一个字符的名字,譬喻163.com、sina.com等。IP和域名之间存在必然的对应干系。假如把IP地点类比成身份证号的话,那么域名就是你的姓名。

其实在网络中只能利用IP地点举办数据传输,所以在传输以前,需要把域名转换为IP,这个由称作DNS的处事器专门来完成。

所以在网络编程中,可以利用IP或域名来标识网络上的一台设备。

1.4.3 端口的观念

为了在一台设备上可以运行多个措施,工钱的设计了端口(Port)的观念,雷同的例子是公司内部的分机号码。

划定一个设备有216个,也就是65536个端口,每个端口对应一个独一的措施。每个网络措施,无论是客户端照旧处事器端,都对应一个或多个特定的端标语。由于0-1024之间多被操纵系统占用,所以实际编程时一般回收1024今后的端标语。

利用端标语,可以找到一台设备上独一的一个措施。

所以假如需要和某台计较机成立毗连的话,只需要知道IP地点或域名即可,可是假如想和该台计较机上的某个措施互换数据的话,还必需知道该措施利用的端标语。

1.4.4 数据传输方法

知道了如何成立毗连,下面就是如何传输数据了,先来看一下数据传输的方法。

在网络上,不管是有线传输照旧无线传输,数据传输的方法有两种:

<!–[if !supportLists]–>l <!–[endif]–>TCP(Transfer Control Protocol)

传输节制协议方法,该传输方法是一种不变靠得住的传送方法,雷同于显示中的打电话。只需要成立一次毗连,就可以多次传输数据。就像电话只需要拨一次号,就可以实现一直通话一样,假如你说的话不清楚,对方会要求你反复,担保传输的数据靠得住。

利用该种方法的利益是不变靠得住,缺点是成立毗连和维持毗连的价钱高,传输速度不快。

<!–[if !supportLists]–>l <!–[endif]–>UDP(User Datagram Protocol)

用户数据报协议方法,该传输方法不成立不变的毗连,雷同于发短信息。每次发送数据都直接发送。发送多条短信,就需要多次输入对方的号码。该传输方法不行靠,数据有大概收不到,系统只担保极力发送。

利用该种方法的利益是开销小,传输速度快,缺点是数据有大概会丢失。

在实际的网络编程中,各人可以按照需要选择任何一种传输方法,或组合利用这两种方法实现数据的通报。

1.4.5 协议的观念

协议(Protocol)是网络编程中一个很是重要的观念,指的是传输数据的名目。因为各人在网络中需要传输各类百般的信息,在措施中获获得的都是一组数值,如何阅读这些数值呢,就需要提前划定好这组数据的名目,在客户端凭据该名目生成发送数据,处事器端凭据该名目阅读该数据,然后在凭据必然的名目生成数据反馈给客户端,客户端再凭据该名目阅读数据。现实中雷同的例子就是电报编码,每个数字都是用特定的数据表达。

#p#分页标题#e#

一般措施的协议都分成客户端发送的数据名目,以及处事器端反馈的数据名目,客户端和处事器端都遵循该名目生成或处理惩罚数据,实现两者之间的巨大数据互换。

1.4.6 小结

网络编程就是利用IP地点,或域名,和端口毗连到另一台计较机上对应的措施,凭据划定的协议(数据名目)来互换数据,实际编程中成立毗连和发送、吸收数据在语言级已经实现,做的更多的事情是设计协议,以及编写生成息争析数据的代码而已,然后把数据转换成逻辑的布局显示或节制逻辑即可。

需要相识更多的网络编程的常识,发起阅读《JAVA2网络协议黑幕》一书。

文章来历:http://blog.csdn.net/Mailbomb/archive/2008/04/09/2269502.aspx

 

    关键字:

天才代写-代写联系方式