北大青鸟光谷校区 旗下网站:武汉官方招生网站 青鸟光谷校区网站 企业人才服务网 青鸟学社 青鸟在线

JAVA

武汉北大青鸟 > JAVA > 软文 >

时间:2012-01-16 10:12作者:武汉北大青鸟 点击:
1,网络模型OSI的网络模型分为七层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。 Linux内核

       1,网络模型OSI的网络模型分为七层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。

Linux内核采用的网络模型:应用层,传输层,网际层,网络接口层。

  2,两台计算机的通信机制。

两***立的计算机,进行通信是需要借助于网络设备的同时,计算机内部是怎么处理的呢?感觉我自己的认识概述如下。一台计算机想要通信首先要找到目标机,只要找到对象才有可能实现通信,这就引出了IP的概念,通信的计算机之间是通过IP地址来查找相应的目标计算机的。IP地址分为两种:IPV4和IPV6.IPV4是有四个字符数据组成,IPV6是有六个字符数据组成。每个字符数据的最大值是255.两台计算机通过网线连接一起后,在遵守TCP/IP协议的前提下,通过IP地址进行通信。每台计算机又有很多的应用程序,如果一台计算机发送数据到另一个计算机上,具体是哪一个应用程序接收呢?这个就需要有端口来区别。计算机一共分配了0——65535个数据用来表示端口。每一个应用程序都有一个自己的端口,也就是一个整数,通过这个端口来决定传输数据的时候具体发送到那一个应用程序上。所以说,计算机想要通信,首先要符合一定的协议,然后有一个IP地址,通过端口号来区分具体的应用程序来处理数据。计算机传输数据时,遵守的协议有很多,常用的有两种:TCP和UDP. TCP协议特点:

      <1>.在传输数据前需要建立连接,通过三次握手完成,tcp通信是面向连接的。

<2>.数据在传输过程中不需要大包操作,可以传输大量的数据。

<3>.由于是在建立连接的基础上进行数据的传输,该协议比较可靠。

<4>.想传数据,必须建立连接,在速度和效率上稍低。

UDP协议的特点:<1>.UDP是面向无连接的,双方进行通信不需要建立连接。

<2>.数据在传输过程中要进行打包操作,每个包的最大为64K字节。

<3>.面向无连接的传输,该协议不可靠。

<4>.不需要建立连接,传输速度快,效率高。

3,Java中网络编程类java中用来网络编程的包是:java.net;UDP协议通信使用的是java包中的DatagramSocket和DatagramPacket对象。建立通信机制的步骤是:<1>.通过DatagramSocket对象是为网络通信构建一个通道,专业的叫法就是创建端口。

发送端具体实现代码:DatagramSocket ds = new DatagramSocket();如果是发送端的话,这个端口可以不进行绑定,使用内核自由分配的端口号即可。如果是接受端的话,这个端口要必须要绑定到特定的端口,这个端口也可以叫做监视器。监视某个端口信息的变化。接收端具体实现代码:DatagramSocket ds = new DatagramSocket(端口号); 参看GDK手册有详细说明。

<2>.封包操作。

如果是发送端的话,首先要有数据,由于网络传输的都是二进制数据,所以在定义网络包的时候也要定义成二进制形式的。具体定义代码如下:发送数据包数据:byte[] buf = "数据".getBytes();接受数据包数据:byte[] buf = new byte[1024];有了数据和数据缓冲区后,可以把这个数据和数据缓冲区封装成网络包:发送端的数据包:DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getAddress("192.168.1.104"),10000);接受端的数据包:DatagramPacket dp = new DatagramPacket(buf,buf.length);<3>.发送接受操作。

根据端口Socket的方法,对数据包发送和接受操作。具体实现代码:发送端:ds.send(dp);接收端:ds.receive(dp); 接收到的数据包放到接收端定义的数据包缓冲区中。

<4>.关闭资源。

ds.close();TCP协议通信使用的是java包中的Socket和ServerSocket对象。TCP和UDP的区别在于,TCP是建立连接,UDP是不需要连接,TCP操作的是端口输入输出流对象,UDP操作的是DatagramPacket包。按照TCP通信时不需要建立包,直接获取输入输出流操作即可。通信机制的步骤如下:

        <1>.TCP通信首先也是要建立Socket端口。UDP中客户端和服务端都是使用的DatagramSocket创建对象的方法,创建通信端口。TCP建立端口时,客户端和服务端是使用不一样的类。具体操作代码如下:客户端:Socket s = new Socket();服务端:ServerSocket ss = new ServerSocket(监听端口);

       <2>.建立连接操作。

通过服务端ServerSocket对象的accept方法获得端口连接,在获得请求端口信息后,建立连接。

<3>.获得输入输出流操作。

在客户端获得Socket的getOutputStream()方法,通过该方法,输出数据。在服务端通过获得Socket的getInputStream()方法,读取数据。

<4>.关闭流操作。

客户端:s.close();服务端:s.close; ss.close();4,网络编程的实例附录:UdpTrans.java  <使用UDP协议进行简单的通信实验> TcpDemo.java   <使用TCP协议进行简单的通信实验> UdpdownText.java <使用UDP协议上传文本文件> UdpdownPic.java
 

(责任编辑:admin)

将本文分享到:

------分隔线----------------------------
一分钟了解...
优秀毕业生

姓名:张磊

毕业于:2011-01

就业单位:广东南洋长胜酒店有限公司

职位:系统维护工程师

月薪:8000

姓名:王远洋

毕业于:2010-01

就业单位:武汉四通创新集成有限责任公司

职位:项目经理

月薪:8000

姓名:魏德强

毕业于:2007-01

就业单位:北京国通创安报警网络技术公司

职位:网络技术工程师

月薪:20000

姓名:胡瑞峰

毕业于:2010-02

就业单位:蓝迅电脑网络技术服务公司

职位:CEO

月薪:100000

姓名:廖思雨

毕业于:2011-02

就业单位:武汉擎天网络工程有限公司

职位: 技术支持工程师

月薪:

姓名:李丙超

毕业于:2011-05

就业单位:杭州星网视易信息系统有限公司

职位:技术支持

月薪:5500

姓名:郑沆

毕业于:2011-06

就业单位: 浙江盘石信息技术有限公司

职位:技术支持工程师

月薪:5000

姓名:宋林峻

毕业于:2011-05

就业单位:东风悦鼎经贸有限公司

职位:网络管理员

月薪:4500

姓名:黄鹏

毕业于:2011-2

就业单位:武汉骏升科技有限公司

职位:销售工程师

月薪:4000

姓名:康健

毕业于:2011-03

就业单位: 杭州百通快车网络技术服务有限公司

职位:网络工程师

月薪:6000

在线问答

请输入您的手机号,我们将在工作日一小时之内,通过手机短信回复给您。
 

本校是华中地区成立时间最早、规模最大、开设科目最全的北大青鸟 IT职业教育培训学院。自2003年以来毕业学员4000余人,由本学院推荐就业于北京、上海、深圳、广州、武汉、成都等地。

主要开设培训项目:BENETJAVA/.NET/ANDRIOD网络安全网络营销培训等

联系我们
电话:027-878506402 87506403
您还可以通过以下方式与我们联系:
关注我们
  • 官方微博
  • 光谷名师堂
 
Copyright 2003-2011 武汉祉满教育有限公司 版权所有 鄂ICP备11019421号