Java网络编程(一):服务端与客户端建立(UDP方式)

Java网络编程的面向数据连接方式主要有两种:1、UDP,非面向连接,效率高,但是安全性低,例如短信;
2、TCP,面向连接,效率低,但是安全性相对较高一点,例如电话。这篇主要讲的是UDP方式下建立客户端和服务端。


   对于网络编程进行对网路的连接,主要用到两个大类:DataGramSocket和DataGramPacket.其中第一个是用来建立连接么第二个是用来封装数据的。

- Client端的建立步骤:1、创建客户端,2、准备数据,3、打包,4、发送,5、释放资源

public class Servers {
    public static void  main(String[] a) throws IOException{

    DatagramSocket so=new DatagramSocket(888);
    String msg="biancheng";
    byte[] data=msg.getBytes();
    DatagramPacket dp=new DatagramPacket(data, data.length,new InetSocketAddress("localhost", 8888));
    so.send(dp);
    so.close();

}

}

我们需要使用DataGramSocket新建一个客户端对象,需要加入一个端口,这个端口要避免是否已经被主机使用过了。

  • Server端建立:1.创建服务器端口;2、准备数据接受容器,3、接收数据,4、分析数据,5、释放资源
public class Clients {
    public static void  main(String[] args) throws IOException{
    DatagramSocket server=new DatagramSocket(8888);
    byte[] container=new byte[1024];
    DatagramPacket dp=new DatagramPacket(container, container.length);
    server.receive(dp);
    //分析数据
     byte[] data=dp.getData();
     int len=dp.getLength();
     System.out.println(new String(data));

}
}

这是一个简单的客户端和服务端建立的小例子,主要是为了交代建立的过程,从上面的服务端建立我们可以看出,UDP的连接方式不是在建立断楼的时候就找目的地址,而是让数据发送过程中去找服务器地址,所以数据在发送过程中容易丢失,可以试试将服务器关闭。客户端运行发现不会报错。

你可能感兴趣的:(javaee)