|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难条记JavaNetworkProgramming条记
n5
一收集基础观点
Chapter2BasicNetworkConcepts
2.1Networks
keywords:network,node,host,address,name,packet-switched,protocol
收集是能够或多或少及时地互相发送和吸收数据的盘算机和其他设备的汇合。
收集上的每台呆板被称作结点(node),年夜多半结点是盘算机,可是打印机,路由器,桥,网关,哑终端和适口可乐机都能够是结点,但你一般只和其他盘算时机话。
功效完全的盘算机结点被称作主机(host)。
每一个收集结点有一个地点(address):独一标识它的一系列字节。在分歧的收集中地点分派办法同。以太网地点是附加在物理的以太网硬件上的。设备厂商要包管这些硬件的地点不反复。一台盘算机的Internet地点一般由专门卖力分派地点的构造分派。而这些构造能够分派的地点又是由该构造的ISP(InternetServiceProvider)供应的。ISP从三个Internet区域性注册机构之一取得IP地点(InternetProtocol地点)。好比美洲和非洲的注册机构为ARIN(theAmericanRegistryforInternetNumbers)。区域性注册机构的地点又是由IANA(InternetAssignedNumbersAuthority)分派的。
某些品种的收集中,结点可以使用人类易识别的名字。名字和地点的对应不是稳定的。名字变了,地点可稳定;地点变了,名字可稳定。一个地点一般可有多个名字,一个名字也能够对应多个地点(固然如许的情形很少)
一切古代盘算机收集是包互换(packet-switched)收集。在收集上传输的数据被分红包,每一个包都被自力处置。每一个包都含有"谁发送了我"和"我要往哪儿"的信息。包互换的最年夜长处是能够同时举行良多互换,多少盘算机能够共享一条电缆。
协定(protocol)是一组准确的划定规矩汇合,它界说了盘算机之间怎样通信,包含:地点格局,数据怎样分包等。公然公布的协定同意分歧厂商的软件和设备互相通信。好比web扫瞄器不必体贴服务器是Unix事情站仍是Windowsbox大概Mac机,由于服务器和扫瞄器都利用一样的平台有关的http协定扳谈。
2.2TheLayersofaNetwork
尺度TCP/IP四层模子:
ApplicationLayer
TransportLayer(TCP,UDP)
InternetLayer(IP)
TheHost-To-NetworkLayer(Ethernet,LocalTalk,FDDI...)
90%的Java收集编程处于使用层,只须同传输层对话。剩下的10%处于传输层,同使用层和网间网层对话。
使用层看起来是间接同其他host的使用层对话的,收集在两个使用层之间创立了一条逻辑链路。
2.2.1TheHost-to-NetworkLayer
(也称作linklayer,datalinklayer,network-interfacelayer)
这一层界说了某个特定的收集接口,比方以太网卡,怎样经由过程它的物理毗连向当地收集或天下发送IP数据包。
物理层对Java是通明的。数据链路层对Java程序员没有间接影响。但是,你在使用层发送的数据能够优化以顺应特定的数据链路层的当地包巨细(thenativepacketsizeofaparticulardatalinklayer),如许功能上会有所提拔。不外,不优化程序也一般运转。
2.2.2TheInternetLayer
在OSI模子中,InternetLayer对应于更一样平常化的名字networklayer。一个networklayer协定界说bits和bytes怎样构造为packets,也界说了分歧呆板怎样找到相互的地点计划。InternetProtocol(IP)是使用最普遍的networklayer协定,也是Java独一了解的networklayer协定。其他的networklayer协定有NetWare收集上的IPX协定,Mac机上的AppleTalk协定,Windows上的NetBEUI协定。各类networklayer协定关于底层是自力的,AppleTalk,IP,IPX和NetBEUI都能够被用于以太网,令牌环网或利用其他数据链路层协定的收集,而这些数据链路层协定自己也是能够运转在分歧品种的物理层之上的。
internetlayer传输的包称作datagrams,每一个IPdatagram包含一个20~60字节的头和最年夜65515字节的数据。(实践上多半IPdatagram十分小)
IP数据包头的内容为:
4-bit版本号
4-bit头长度
1-bytetypeofservice
2-bytedatagram长度:包含头的长度
2-byte标识号
3-bitflags
13-bitfragmentoffset
1-bytetime-to-live(TTL)
1-byteprotocol:TCP为6,UDP为17(都是上一层传输层的协定)
2-byte头校验和
4-byte源地点
4-byte目标地点
2.2.3TheTransportLayer
传输层卖力包管一切的包准确的被收到,按次准确,数据也准确。假如包丧失了,传输层请求发送者重发丧失的包。
传输层有两种协定,TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)。TCP包管包不丧失,内容温柔序都准确;UDP只包管承受到的包准确,不论是否有包丧失了或抵达的包按次是不是准确。
2.2.4TheApplicationLayer
使用层向用户传送数据。上面三层一同办理了数据怎样从一个盘算机抵达另外一个;而使用层决意数据抵达后怎样处置。Java收集编程次要是在使用层。罕见的使用层协定有:HTTP,SMTP,POP,FTP等。你的程序能够界说本人的使用层协定。
DomainNames:域名体系(DNS:DomainNameSystem)将主机名剖析为数字的Internet地点。Java程序利用java.net.InetAddress类
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。 |
|