`
accpxudajian
  • 浏览: 458054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于UDP的Socket编程

    博客分类:
  • Java
阅读更多
1>>基于UDP的Socket编程用到的类和方法
      DatagramSocket  数据报Socket对象
                          常用方法:ds.send(DatagramPacket)发送UDP包,  ds.receive(DatagramPacket)接收UDP包;
      DatagramPacket  UDP包对象
                          常用方法:1 new DatagramPacket(byte[],length)  常用来接收数据。
                                              2 new DatagramPacket(bytes[],length,InetAddress,port) 常用来发送数据。

2>>一个基于UDP协议的Socket编程。实现服务器/客户端的发送/接收数据
import java.net.*;
//基于UDP的Socket编程 服务器端代码
public class UDPServer
{
public static void main(String[] args)
{
  receive();
}
public static void receive()
{
  try{
  //创建数据报套接字,并绑定到固定端口。
   DatagramSocket ds = new DatagramSocket(6000);
   System.out.println("服务器端启动...");
   byte[] buf = new byte[100]; //声明byte数组,用于接收客户端Client输入
   //创建接收数据的UDP包    new DatagramPacket(byte[],length);  
   DatagramPacket dp = new DatagramPacket(buf,100);  
   ds.receive(dp);  //服务器端Server读取客户端Client的数据,并将数据保存到UDP包对象中
   System.out.println(new String(buf,0,dp.getLength()));  //服务器端输出客户端输入信息。

   String mess = "welcome you!"; //服务器端响应客户端信息
   //创建发送数据的UDP包对象 new DatagramPacket(bytes[],length,IPAddress,port);
   DatagramPacket senddp = new DatagramPacket(mess.getBytes(),mess.length(),dp.getAddress(),dp.getPort());
   //服务器端向客户端发送反馈信息
   ds.send(senddp);
   //数据报套接字关闭
   ds.close();

  }
  catch(Exception e){
   e.printStackTrace();
  }
}
}

客户端代码:
import java.net.*;
//基于UDP的SOcket编程的客户端代码
public class UDPClient
{
public static void main(String[] args)
{
  send();
}
public static void send()
{
  try{
   //创建数据报套接字
   DatagramSocket ds = new DatagramSocket();
   String str = "hello ,i am dajian";//客户端即将发送的数据
   //创建发送数据的UDP包对象  new DatagramPacket(bytes[] ,length,InetAddress,port)
   DatagramPacket dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),6000);
   //向服务器端发送数据
   ds.send(dp);

   byte[] buf = new byte[100]; //用于接收数据的数组
   //创建结束服务器端数据的UDP包对象  new DatagramPacket(bytes[] ,length)
   DatagramPacket receivedp = new DatagramPacket(buf,100);
   //接收服务器端信息,保存到UDP包对象中
   ds.receive(receivedp);
   System.out.println(new String(buf,0,receivedp.getLength()));//客户端打印服务器端响应的信息
   ds.close(); //关闭数据报套接字
  }
  catch(Exception e){
   e.printStackTrace();
  }
}
}


3>>图片演示java Swing组建和URL实现文件下载(下载thml网页为例)


接上一张

》》字节流读取和写出文件:源码读取源码写入。不会出现数据丢失的情况(上例会出现丢失)


分享到:
评论

相关推荐

    基于udp的socket编程实例

    在IT领域,网络编程是不可或缺的一部分,而基于UDP(User Datagram Protocol)的Socket编程是其中一种常见的技术。UDP是一种无连接、不可靠的传输协议,适用于实时数据传输或对速度有较高要求的应用场景。本实例将...

    基于UDP的socket编程

    基于udp下的socket编程,包括客户端和服务器端,适于初学者

    网络编程之基于UDP的Socket编程

    基于UDP的Socket编程 网络编程中的Socket编程是指在应用程序中使用操作系统提供的网络编程接口来实现网络通信的过程。在 Socket 编程中,存在两种主要的协议:TCP 和 UDP。其中,TCP 协议是一种面向连接的可靠通信...

    基于UDP的socket程序,多线程操作,windows下C语言

    ### 基于UDP的Socket程序:多线程操作,Windows下的C语言实现 #### 概述 本文将深入分析一个使用C语言在Windows环境下编写的UDP Socket程序,该程序支持多线程并发操作,实现了数据包的发送与接收功能。通过对给定...

    基于UDP SOCKET 统计丢包率

    在"基于UDP SOCKET 统计丢包率"的项目中,我们采用C/S(Client/Server)模型进行通信。客户端(Client)发送数据报到服务器(Server),而服务器则回射这些数据报给客户端。通过比较发送的数据报数量和接收到的数据...

    tcp/udp socket编程

    基于TCP协议的Socket编程 ① 创建TCP服务端步骤: a) 创建一个ServerSocket对象 b) 调用accept()方法接受客户端请求 c) 从Socket中获取I/O流 d) 对I/O流进行读写操作,完成与客户端的交互 e) 关闭I/O流和...

    基于UDP协议的Socket编程

    基于UDP协议的Socket编程主要涉及两个关键类:`DatagramPacket`和`DatagramSocket`,这两个类都位于Java的`java.net`包中。 `DatagramPacket`类是UDP通信的核心,它负责封装和解析实际传输的数据。当需要发送数据时...

    基于IP UDP协议的socket编程

    本文将详细讲解基于IP UDP协议的Socket编程,帮助你理解如何使用UDP套接字进行数据发送与接收。 UDP(User Datagram Protocol,用户数据报协议)是一种无连接、不可靠的传输层协议,它的主要特点是速度快、开销小,...

    Linux下基于UDP的socket编程,适用多客户端之间,服务器与客户端之间的通信

    Linux下基于UDP的socket编程,适用多客户端之间,服务器与客户端之间的通信。在阿里云服务器上已通过测试。notepad++可打开

    socket网络(UDP协议编程)

    这意味着我们将了解如何在Windows环境下创建基于UDP的服务器和客户端应用,以及如何配置和使用端口号进行通信。8888端口是一个非标准端口,通常用于特定的应用程序或服务。 **标签解读:** "socket"标签表示我们将...

    基于UDP协议的Socket网络编程模式的实现

    ### 基于UDP协议的Socket网络编程模式的实现 #### 概述 在计算机网络领域,Socket是一种用于网络通信的编程接口,它允许不同计算机系统之间通过TCP/IP等网络协议进行数据交换。本文主要探讨的是基于UDP协议的...

    TCP/UDP socket 调试工具

    TCP/UDP socket 调试工具 TCP/UDP socket 调试工具 ...本软件可广泛用于GPRS/CDMA/局域网/广域网等基于Socket方式的数据采集平台的通信调试,让SocketTool真正成为您的TCP/UDP Socket应用开发助手!

    基于python的简单UDP socket编程

    内容概要:基于python的简单UDP socket编程 目标人群:具有一定python编程基础和计算机网络基础知识的人群 使用场景:Python3 功能介绍:基于python的UDP scoket编程,模拟UDP传输方式的信息传输,有服务端和客户端...

    windows平台下基于UDP的socket编程

    在Windows平台上进行基于UDP的Socket编程,主要是利用Winsock库来实现进程间的网络通信。UDP(User Datagram Protocol)是一种无连接、不可靠的传输层协议,适用于需要快速发送数据且对数据完整性要求不高的场景。...

    基于UDP和TCP协议的Socket(网络编程/套接字)案例

    以上是对基于UDP和TCP协议的Java Socket编程的基本介绍。实际应用中,还需要考虑异常处理、多线程、数据编码解码等问题,以确保程序的健壮性和可维护性。通过深入理解并实践这些示例,开发者可以更好地掌握网络编程...

    嵌入式开发板4412实现基于UDP的socket编程

    嵌入式开发板4412实现基于UDP的socket编程

    TCP-UDP-Socket.zip_socket udp c#_tcp/udp socket_udp编程

    在这个"TCP-UDP-Socket.zip"压缩包中,包含了基于C#语言的TCP和UDP Socket编程示例,对于理解和应用这两种协议非常有帮助。 首先,TCP是一种面向连接的协议,它保证了数据的可靠传输。在数据传输前,TCP会建立一个...

    udp.rar_SOCKET套接编程_UDP socket_c udp_c socket UDP_udp 聊天

    5. "udp_聊天":表示这是一个基于UDP的简单聊天应用,可能包括客户端和服务器两端的代码,实现双向通信。 在压缩文件中,有两个文件: 1. "udp.txt":这可能是示例程序的源代码,包含了使用UDP Socket实现聊天功能...

Global site tag (gtag.js) - Google Analytics