`

简单UDP学习

    博客分类:
  • java
阅读更多

 

服务端代码

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//服务端
public class Server {

	Log  loger = LogFactory.getLog( Server.class);
	
	private byte[] buffers = new byte[1024];
	
	public static void main(String[] args) {
		Server server = new Server();
		try {
			server.startServer();
		} catch (IOException e) {
			 
			e.printStackTrace();
		}
		
	}
	
	/**
	 * @throws IOException 
	 * 
	 */
	public void startServer() throws IOException{
		InetSocketAddress  iadress = new InetSocketAddress(8812);
		//启动UDP服务器  并给与服务器监听的端口
		DatagramSocket ds = new DatagramSocket( iadress);
	 
		loger.info("服务器启动");
		while(true){
			//阻塞 结束客户端的连接  ,并且创建接收数据包  用来结束客户端传送的数据 
			DatagramPacket packet = new DatagramPacket(buffers,  buffers.length );
			ds.receive( packet);
			String info = new String(packet.getData(),0,packet.getLength());
			loger.info("接收信息::"+info );
			
			loger.info("  来自:"+packet.getAddress()+"  端口:"+packet.getPort());
			
			buffers ="服务器发送的数据:".getBytes();
			//创建数据包 用来发送数据 
			DatagramPacket serverPacket = new DatagramPacket(buffers, buffers.length , packet.getAddress() , packet.getPort());
			//发送数据 
			ds.send( serverPacket);
			System.out.println( "服务端发送数据结束");
		}

	}
	
	
}
  
客户端代码:

package com.UDP;

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

public class UDPClient {

	public static void main(String[] args) {
		
		
		UDPClient udpClient = new UDPClient();
		try {
			udpClient.startClient();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * @throws IOException 
	 * 
	 */
	public void startClient() throws IOException{
		//客户端服务   并且给予端口 
		DatagramSocket socket = new DatagramSocket(8899);
		byte[] bs = "客户端发出数据".getBytes();
		InetAddress inet = InetAddress.getByName("127.0.0.1");
		//创建发送数据的数据包 
		DatagramPacket pack = new DatagramPacket(bs,   bs.length,inet ,  8812);
		System.out.println( "将要发送数据!!");
		//发送数据 
		socket.send (pack);
		System.out.println( "客户端数据发送完毕");
		
 
		byte[] buffer = new byte[1024]; 
		//创建接收包 
		DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
		//接收客户端的数据 
		socket.receive(pack);
		
		System.out.println("=====服务器发送到客户端::"+new String(dp.getData()) );
	}
	
}
 

 

 

 

分享到:
评论

相关推荐

    udp-demo.rar_DEMO_UDP_UDP 学习资料_c# UDP

    本“udp-demo.rar”压缩包提供了一个简单的UDP通信入门学习资源,适合初学者了解和实践UDP通信的基本原理和操作。 1. UDP协议基础 UDP是一种无连接的协议,这意味着在数据传输前,它不需要建立连接,因此节省了...

    UDP简单聊天程序示例

    总的来说,UDP聊天程序示例是一个学习网络编程、了解UDP协议及其应用的好起点。通过这个示例,你可以了解到如何在C#中操作UDP套接字,以及如何构建一个基础的多用户聊天系统。不过,要注意,尽管UDP提供了高效的传输...

    简单UDP聊天室 java版

    【标题】:“简单UDP聊天室 java版” 【描述】中的知识点主要涉及到的是基于Java实现的一个简单的用户数据报协议(UDP)聊天室。UDP是一种无连接的、不可靠的传输层协议,它在互联网协议族中扮演着重要的角色。这个...

    VB实现简易UDP聊天软件

    在VB(Visual Basic)环境中,我们可以利用其强大的编程能力...通过分析这些代码,你可以更深入地学习如何在VB中实际操作Socket对象,实现UDP聊天功能。记得在实际操作前,先备份原有代码,以免意外修改导致数据丢失。

    labview 简单UDP服务器客户端 案例.rar

    LabVIEW(Laboratory Virtual ...总的来说,"labview 简单UDP服务器客户端 案例"提供了一个学习和实践LabVIEW中UDP通信的平台,帮助开发者理解和掌握网络编程的基本技巧,进一步提升其在实际工程中的应用能力。

    UDP 文件传输 学习QQ文件传输

    通过上述学习,你可以实现一个简单的UDP文件传输程序,但要注意,这需要一定的网络编程基础和实践经验。在实际应用中,对于需要高度可靠性的文件传输,TCP通常仍是首选,而UDP更适合那些对速度和实时性有更高要求的...

    vfp udp简易通讯,有源码

    学习和分析这样的源码,开发者可以了解如何在VFP中处理网络通信,如何设计和实现简单的多用户交互系统,以及如何利用UDP的特性实现高效的数据传输。这对于那些想要提升VFP网络编程技能或研究UDP通信机制的人来说是很...

    简单的UDP客户端+服务端的实现

    总结来说,这个简单的UDP客户端和服务端实现项目提供了一个学习和实践网络编程的好机会,特别是对于那些对UDP协议感兴趣的开发者。通过理解和操作这个项目,你可以深入理解UDP通信的工作原理,并掌握如何在Java中...

    c#简单UDP聊天程序源码

    通过分析这个“C#简单UDP聊天程序源码”,开发者不仅可以学习到UDP通信的基础知识,还能了解到如何在C#环境中构建多线程、事件驱动的应用,这对于提升网络编程技能非常有帮助。在实践中,可以逐步扩展这个基础程序,...

    UDP广播简单示例 学习

    UDP广播简单示例 有研究或探讨或开源的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn

    UDP.rar_C# udp通信_UDP 通信协议_UDP 通信协议C++_UDP通信_udp程序

    UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议...对于进一步学习UDP通信,你可以参考这些资源,结合实践加深理解。同时,理解网络基础,如IP地址、端口号、网络字节序等,也是掌握UDP通信的关键。

    udp.rar_UDP_c# UDP_udp c#

    "udp传输小实例(1)"可能是包含了简单的UDP发送和接收代码示例,可能涵盖了上述基本操作的实现。通过学习这个实例,初学者可以快速掌握如何在C#中使用UDP进行通信,为进一步的网络编程打下基础。在实践中,可以结合...

    基于C#的简单UDP通讯程序

    总之,"基于C#的简单UDP通讯程序"是一个很好的学习和实践案例,它涵盖了网络通信的基础知识,以及如何在C#环境中实现这些功能。无论是初学者还是有一定经验的开发者,都能从中获益,提升自己的技能。

    UDP简单文件传输

    通过这个UDP简单文件传输项目,学习者可以深入了解UDP协议的工作原理,以及如何在实际应用中利用MFC构建用户界面。对于想要深入网络编程和客户端/服务器应用的开发者来说,这是一个很好的实践案例。

    C# UDP,TCP简单例子

    "C# UDP,TCP简单例子"这个项目为初学者提供了一个很好的起点,让他们能够理解如何在C#中使用UDP和TCP进行网络通信。通过学习这个项目,开发者不仅可以了解基本的网络通信概念,还能掌握如何在实际应用中实现这些...

    socket学习(包括Tcp,Udp)

    UDP编程相对简单,无需建立连接,直接发送和接收数据: ```java DatagramSocket server = new DatagramSocket(8080); // 绑定到8080端口 byte[] receiveData = new byte[1024]; DatagramPacket packet = new ...

    Vs2008编写的简单UDP测试程序

    总的来说,这个简单的UDP测试程序提供了一个基础平台,用于学习和实践UDP通信,包括如何设置IP地址和端口,以及如何在C++环境中实现数据的发送和接收。这对于任何想要了解网络编程或进一步开发基于UDP的应用的人来说...

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

    UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了简单高效的数据传输方式,适用于实时数据传输或对丢包不敏感的应用场景。而广播通信则允许一个发送者向网络中的所有设备发送数据,无需预先知道...

    基于UDP的简单SOCK通信

    总的来说,基于UDP的简单SOCK通信是一个很好的起点,对于学习网络编程的基础概念和实践技巧非常有帮助。通过这个基础,可以进一步学习TCP/IP协议栈、多线程编程、网络并发处理等更复杂的网络编程技术。

Global site tag (gtag.js) - Google Analytics