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

来源:互联网 发布:鳄鱼有耳朵吗 知乎 编辑:程序博客网 时间:2024/06/05 11:38

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的连接方式不是在建立断楼的时候就找目的地址,而是让数据发送过程中去找服务器地址,所以数据在发送过程中容易丢失,可以试试将服务器关闭。客户端运行发现不会报错。

0 0