`

网络编程【二】UDP通信发送端+接收端

    博客分类:
  • Java
阅读更多
[img]

[/img]

[img]

[/img]


第一、建立发送端。(我这边用的是eclipse)
package com.zzl.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

/*
 需求:通过UDP传输方式,将一段文字传输出去。
 思路:
 1,简历udpsocket服务。
 2,提供数据,并将数据封装到数据包中。
 3,通过socket服务的发送功能,将数据包发出。
 4,关闭资源
 
    我的电脑的ip地址为:192.168.0.124,此测试是自己给自己发送数据,接受数据的端口号为:10000。
 
 */

public class UdpSend {

	public static void main(String[] args) {
		DatagramSocket ds = null;
		try {
			// 1,创建socket服务,通过DatagramSocket对象,将发送端的端口设为:8888
			// 如果没有设置,系统会自动分配一个端口。
			ds = new DatagramSocket(8888);
		} catch (SocketException e) {
			e.printStackTrace();
		}
		
		// 2,确定数据,并封装成数据包
		String str = "hello,world!!!!!!!888";
		byte[] buf = str.getBytes();
		InetAddress ia = null;
		try {
			ia = InetAddress.getByName("192.168.0.124");
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		DatagramPacket dp = new DatagramPacket(buf, buf.length, ia, 10000);
		
		
		// 3,通过socket服务,将已有的数据包发送出去。通过send方法
		try {
			ds.send(dp);
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		// 4,关闭资源 
		ds.close();

	}

}






第二、建立接收端。(我这里用的是Editplus写的)

/*
需求:定义一个应用程序,用于接收UDP协议传输的数据并处理。


定义 udp接收端
思路:
一,定义udpsocket服务,通常会监听一个端口。
	其实就是给这个接收网络应用程序定义数字标识,方便明确哪些数据过来
	由该应用程序处理。

二,定义一个数据包,因为要存贮接收到的字节数据。
  因为数据包对象中有更多功能可以提取字节数据中的不同数据信息。

三,通过socket服务的receive方法将接收到的数据存入定义好的数据包中。

四,通过数据包对象的特有功能,将数据取出,并打印在控制台上。

五,关闭资源。

*/
import java.net.*;
public class Receive{
	public static void main(String[] args)throws Exception{
		// 1,创建udp socket 建立接收端点
		DatagramSocket ds = new DatagramSocket(10000);
		// 2,定义数据包,用于存储数据
		byte[] buf = new byte[1024];
		DatagramPacket dp = new DatagramPacket(buf,buf.length);
		// 3,通过服务的receive方法,将收到的数据存入数据包中
		ds.receive(dp);
		
		// 4,通过数据包的方法,获取其中的数据。
		//获得发送端的IP
		String ip = dp.getAddress().getHostAddress();
		//获得发送端的端口
		int port = dp.getPort();
		//获得发过来的数据
		String data = new String(dp.getData(),0,dp.getLength());
		

		System.out.println("ip====="+ip);
		System.out.println("data====="+data);
		System.out.println("port====="+port);
		
		// 5,关闭资源
		ds.close();

	
	
	}



}




第三,为了查看到效果,首先运行接收端,运行后效果如下:
[img]

[/img]


第四、运行发送端。



第五、接收端接收到数据,效果图如下:
[img]

[/img]
  • 大小: 68 KB
  • 大小: 76.3 KB
  • 大小: 21.5 KB
  • 大小: 21.4 KB
分享到:
评论

相关推荐

    基于网络的udp通讯发送端和接收端.zip_socket

    在提供的"基于网络的udp通讯发送端和接收端.zip_socket"压缩包中,应该包含了实现这些功能的示例代码,你可以根据这些代码学习和理解UDP通信的具体实现。在实际项目中,还需要考虑错误处理、数据格式化、并发处理等...

    QT中UDP的发送端及接收端代码

    在本文中,我们将深入探讨如何在QT中使用UDP(User Datagram Protocol)进行通信,包括发送端和接收端的实现。UDP是一种无连接的传输层协议,它不保证数据包的顺序或可靠性,但具有低开销和快速传输的特点。 首先,...

    windows下UDP通信实例_udp通信实例_windows网络编程_visualc++_windowsudp通信_lungs

    在Windows环境下进行UDP通信,是网络编程中的一个重要实践。UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,它相比TCP(Transmission Control Protocol)提供了更快的数据传输速度,但不保证...

    C#基于UDP协议的Socket通信整套源码(包括发送端和接收端)

    C#中的Socket编程提供了一种方便的方式来实现UDP通信,下面我们将介绍如何构建发送端和接收端。 首先,我们来看发送端的实现。在C#中,我们可以使用`UdpClient`类来创建一个UDP客户端。以下是一个简单的发送端示例...

    c#UDP异步发送接收

    在编程领域,网络通信是不可或缺的一部分,而C#作为.NET框架的主要编程语言,提供了丰富的库来支持各种网络通信协议,包括UDP(用户数据报协议)。本文将深入探讨C#中如何实现UDP的异步发送和接收,这对于构建实时、...

    网络编程 简单UDP通信 C++源代码

    总的来说,这个简单的UDP通信C++代码示例为初学者提供了一个很好的起点,帮助他们理解网络编程的基础,包括套接字的创建、数据的发送和接收,以及如何处理网络通信中的基本问题。通过分析和实践这个代码,可以为学习...

    java网络编程,UDP,发送16进制报文。

    总结,本教程介绍了如何使用Java进行UDP网络编程,特别是如何发送16进制格式的报文。通过结合Base64编码,可以实现将大型数据(如图片)分块发送。实践中,需要考虑数据完整性和网络环境的可靠性,以及服务端的数据...

    java网络编程之UDP协议通信

    Java网络编程中的UDP...通过这个项目,你可以深入理解Java网络编程中的UDP通信,了解如何使用Socket API创建UDP客户端和服务器,并实践如何结合GUI进行交互式通信。这不仅有助于理论学习,也提供了实际操作的经验。

    用于VB编程的UDP文件发送的控件

    标题中提到的"用于VB编程的UDP文件发送的控件",通常是指一个专门为了简化VB中UDP通信而设计的组件或者库。这个控件可能包含了发送和接收文件的API,使得开发者能够方便地通过VB代码实现UDP文件传输功能。以下是一些...

    UDP.rar_UDP 线程_UDP 通信协议C_UDP接收程序_udp 接收_udp通信 接收

    5. **UDP通信接收**:这可能是指整个通信过程中的接收部分,包括设置套接字、绑定端口、接收数据报并进行处理。 从压缩包的文件名来看,“www.pudn.com.txt”可能是一个包含资源链接或介绍性的文本文件,而“线程...

    Labview局域网UDP通讯-发送接收数组字符串.zip

    接收端需要正确解析这个二进制流并恢复为原始数组。 4. **接收数组**: 接收数组的VI会监听网络上的UDP数据包,当接收到数据时,它会解析二进制流并重构数组。这个过程涉及到理解数组的结构,例如元素类型、维数等...

    Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】

    为了深入学习Python网络编程,除了本文提供的UDP发送和接收数据示例外,还可以参考更多专题,例如《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作...

    java网络编程实现udp数据发送与接收的简单实例.zip

    首先,我们要了解Java中的`java.net.DatagramSocket`类,它是用来处理UDP通信的核心类。`DatagramSocket`提供了发送和接收数据报(datagram)的功能。数据报是UDP的基本传输单元,包含数据和源/目的IP地址及端口号。...

    socket网络(UDP协议编程)

    UDP通信通常涉及发送和接收数据报(datagram),每个数据报包含完整的源和目标地址。 3. **Win32应用程序**:指的是运行在Windows 32位操作系统环境下的程序,它们可以使用Windows API进行开发,包括Winsock库来...

    qt udp client 带有响应发送端响应

    然而,尽管UDP不保证数据包的顺序和完整性,但在实际应用中,为了确保通信的有效性,我们往往需要实现一种机制来确认接收端已经接收到发送端的数据,这就是所谓的“响应”机制。本文将深入讲解如何使用Qt框架来构建...

    matlab udp 广播通信_广播_UDP_matlab_matlabudp广播_通信_

    总的来说,MATLAB的UDP广播通信涉及网络编程的基本概念,包括套接字的创建、选项设置、数据的发送和接收等。通过学习和实践这两个脚本,你可以掌握如何在MATLAB环境中实现UDP广播通信,这对于进行网络应用的开发和...

    linux qt基于udp通信的小程序 接收端

    首先,我们需要了解Qt中的网络编程模块,这个模块提供了处理TCP和UDP通信的类。对于UDP通信,我们主要使用`QTcpSocket`的替代类`QUdpSocket`。`QUdpSocket`允许我们发送和接收UDP数据报,数据报是UDP的基本传输单元...

    UDP监听 发送与接收

    在这个主题中,“UDP监听 发送与接收”指的是通过编程实现UDP通信的过程,包括创建UDP套接字,设置监听,发送数据以及接收数据。 在UDP通信中,发送客户端首先需要创建一个UDP套接字,然后将数据打包成UDP报文,...

    udp发送接收图片含demo

    发送端首先读取图片文件内容,然后将其封装到UDP的数据报文(Datagram)中,最后通过sendto函数将数据报文发送到指定的IP地址和端口。接收端则通过bind函数绑定到特定的端口,等待数据的到来。当数据到达时,...

    c# UDP 局域网异步通讯实现广播,接收发送string数据

    在C#中,我们可以使用`System.Net`和`System.Net.Sockets`命名空间来实现UDP通信。首先,我们需要创建一个`UdpClient`对象来代表UDP套接字,用于发送和接收数据。为了实现广播,我们需要设置套接字的广播地址。广播...

Global site tag (gtag.js) - Google Analytics