服务端代码
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”压缩包提供了一个简单的UDP通信入门学习资源,适合初学者了解和实践UDP通信的基本原理和操作。 1. UDP协议基础 UDP是一种无连接的协议,这意味着在数据传输前,它不需要建立连接,因此节省了...
总的来说,UDP聊天程序示例是一个学习网络编程、了解UDP协议及其应用的好起点。通过这个示例,你可以了解到如何在C#中操作UDP套接字,以及如何构建一个基础的多用户聊天系统。不过,要注意,尽管UDP提供了高效的传输...
【标题】:“简单UDP聊天室 java版” 【描述】中的知识点主要涉及到的是基于Java实现的一个简单的用户数据报协议(UDP)聊天室。UDP是一种无连接的、不可靠的传输层协议,它在互联网协议族中扮演着重要的角色。这个...
在VB(Visual Basic)环境中,我们可以利用其强大的编程能力...通过分析这些代码,你可以更深入地学习如何在VB中实际操作Socket对象,实现UDP聊天功能。记得在实际操作前,先备份原有代码,以免意外修改导致数据丢失。
LabVIEW(Laboratory Virtual ...总的来说,"labview 简单UDP服务器客户端 案例"提供了一个学习和实践LabVIEW中UDP通信的平台,帮助开发者理解和掌握网络编程的基本技巧,进一步提升其在实际工程中的应用能力。
通过上述学习,你可以实现一个简单的UDP文件传输程序,但要注意,这需要一定的网络编程基础和实践经验。在实际应用中,对于需要高度可靠性的文件传输,TCP通常仍是首选,而UDP更适合那些对速度和实时性有更高要求的...
学习和分析这样的源码,开发者可以了解如何在VFP中处理网络通信,如何设计和实现简单的多用户交互系统,以及如何利用UDP的特性实现高效的数据传输。这对于那些想要提升VFP网络编程技能或研究UDP通信机制的人来说是很...
总结来说,这个简单的UDP客户端和服务端实现项目提供了一个学习和实践网络编程的好机会,特别是对于那些对UDP协议感兴趣的开发者。通过理解和操作这个项目,你可以深入理解UDP通信的工作原理,并掌握如何在Java中...
通过分析这个“C#简单UDP聊天程序源码”,开发者不仅可以学习到UDP通信的基础知识,还能了解到如何在C#环境中构建多线程、事件驱动的应用,这对于提升网络编程技能非常有帮助。在实践中,可以逐步扩展这个基础程序,...
UDP广播简单示例 有研究或探讨或开源的请加群:37424970 或联系本人MSN或邮箱:zhuseahui@yahoo.com.cn
UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议...对于进一步学习UDP通信,你可以参考这些资源,结合实践加深理解。同时,理解网络基础,如IP地址、端口号、网络字节序等,也是掌握UDP通信的关键。
"udp传输小实例(1)"可能是包含了简单的UDP发送和接收代码示例,可能涵盖了上述基本操作的实现。通过学习这个实例,初学者可以快速掌握如何在C#中使用UDP进行通信,为进一步的网络编程打下基础。在实践中,可以结合...
总之,"基于C#的简单UDP通讯程序"是一个很好的学习和实践案例,它涵盖了网络通信的基础知识,以及如何在C#环境中实现这些功能。无论是初学者还是有一定经验的开发者,都能从中获益,提升自己的技能。
通过这个UDP简单文件传输项目,学习者可以深入了解UDP协议的工作原理,以及如何在实际应用中利用MFC构建用户界面。对于想要深入网络编程和客户端/服务器应用的开发者来说,这是一个很好的实践案例。
"C# UDP,TCP简单例子"这个项目为初学者提供了一个很好的起点,让他们能够理解如何在C#中使用UDP和TCP进行网络通信。通过学习这个项目,开发者不仅可以了解基本的网络通信概念,还能掌握如何在实际应用中实现这些...
UDP编程相对简单,无需建立连接,直接发送和接收数据: ```java DatagramSocket server = new DatagramSocket(8080); // 绑定到8080端口 byte[] receiveData = new byte[1024]; DatagramPacket packet = new ...
总的来说,这个简单的UDP测试程序提供了一个基础平台,用于学习和实践UDP通信,包括如何设置IP地址和端口,以及如何在C++环境中实现数据的发送和接收。这对于任何想要了解网络编程或进一步开发基于UDP的应用的人来说...
UDP(User Datagram Protocol)是一种无连接的传输层协议,它提供了简单高效的数据传输方式,适用于实时数据传输或对丢包不敏感的应用场景。而广播通信则允许一个发送者向网络中的所有设备发送数据,无需预先知道...
总的来说,基于UDP的简单SOCK通信是一个很好的起点,对于学习网络编程的基础概念和实践技巧非常有帮助。通过这个基础,可以进一步学习TCP/IP协议栈、多线程编程、网络并发处理等更复杂的网络编程技术。