2011-09-19

来源:互联网 发布:淘宝实惠零食店铺 编辑:程序博客网 时间:2024/04/30 22:43
 

Java网络编程

1、网络基本概念:计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。

 2、网络体系结构:国际标准化组织ISO于l978年提出“开放系统互连参考模型”,即著名的OSI(Open System Interconnection)模型。该模型把计算机网络分成物理层、数据链路层、网络层、传输层、会话层、表示层、应用层等七层。

 3、通信协议主要有:TCP协议:提供可靠的数据传输服务的规则。

IP协议进行IP数据包的分割和组装。

                    UDP( User Datagram Protocol )协议是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。

4、端口:

公认端口(Well Known Ports):从0到1023,它们紧密绑定(Binding)一些服务。

注册端口(Registered Ports):从1024到49151。它们松散地绑定一些服务。

动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口。

5、发送端

建立udpsocket服务端点。该端点建立,系统会随机分配一个端口。如果不想随机配置,可以手动指定。
DatagramSocket ds = new DatagramSocket(9002);

将数据进行packet包的封装,必须要指定目的地地址和端口。
byte[] buf = "wo shi shu ju".getBytes();
DatagramPacket dp =new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.254"),9001);

通过socket服务的send方法将该包发出。
ds.send(dp);

将socket服务关闭。主要是关闭资源。
ds.close();

 6接收端

建立udp的socket服务。要监听一个端口。
DatagramSocket ds = new DatagramSocket(9001);

定义一个缓冲区,将该缓冲区封装到packet包中。
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);

通过socket的receive方法将数据存入数据包中。
ds.receive(dp);

通过数据包dp的方法getData()、getAddress()、getPort()等方法获取包中的指定信息。

关闭socket。
ds.close();

原创粉丝点击