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

Java Socket UDP Program

阅读更多
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClient
{
	public static void main(String[] args) throws Exception
	{
		DatagramSocket datagramSocket = new DatagramSocket();
		
		String content = "hello world!";
		
		byte[] buffer = content.getBytes();
		
		InetAddress address = InetAddress.getByName("localhost");
		
		DatagramPacket packet = new DatagramPacket(buffer,buffer.length,address,5678);
		
		datagramSocket.send(packet);
		
		byte[] b = new byte[100];
		
		DatagramPacket packet2 = new DatagramPacket(b,100);
		
		datagramSocket.receive(packet2);
		
		byte[] b2 = packet2.getData();
		
		int l = packet2.getLength();
		
		String str = new String(b2,0,l);
		
		System.out.println("length of string : " + str);
		
		datagramSocket.close();
	}
}


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

public class UDPServer
{

	public static void main(String[] args)throws Exception
	{
		DatagramSocket datagramSocket = new DatagramSocket(5678);
		
		byte[] buffer = new byte[100];
		
		DatagramPacket packet = new DatagramPacket(buffer,100);
		
		datagramSocket.receive(packet);
		
		byte[] data = packet.getData();
		
		int i = packet.getLength();
		
		String content = new String(data,0,i);
		
		System.out.println("content from client : " + content);
		
		int length = content.length();
		
		String strLength = String.valueOf(length);
		
		byte[] b = strLength.getBytes();
		
		InetAddress address = packet.getAddress();
		
		int port = packet.getPort();
		
		DatagramPacket packet2 = new DatagramPacket(b,b.length,address,port);
		
		System.out.println("length: " + new String(b,0,b.length));
		
		datagramSocket.send(packet2);
		
		datagramSocket.close();
		
		
	}

}
分享到:
评论

相关推荐

    JavaHowToProgram:Java How To Program 第 9 版的所有代码

    9. **网络编程**:如何使用Socket进行客户端/服务器通信,处理TCP和UDP协议。 10. **图形用户界面(GUI)编程**:使用Swing库创建桌面应用,包括JFrame、JButton、JLabel、JTextArea等组件,以及事件监听。 11. **...

    ADP PROGRAM_socket_

    9. **API使用**:可能涉及到具体的编程语言(如C、C++、Python、Java等)的socket API使用示例和最佳实践。 压缩包子文件"ADP PROGRAM.docx"很可能是详细讲述以上知识点的文档,它可能包含了代码示例、步骤解析、...

    Java端口扫描 打包发布

    java -jar your-program.jar ``` 5. 发布与部署:将打包好的JAR文件和启动脚本上传至服务器,或者提供下载链接给用户。确保目标环境已安装Java运行时环境(JRE)。 四、安全与注意事项 - 端口扫描可能被视为...

    Java Network Programming 3rd Edition By Elliotte Rusty Harold 2004

    What Can a Network Program Do? Section 1.2. Security Section 1.3. But Wait! There's More! Chapter 2. Basic Network Concepts Section 2.1. Networks Section 2.2. The Layers of a Network ...

    java练习题

    ### Java练习题知识点详解 #### 1. 冒泡排序法 **知识点**: 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到...

    java资源(pdf格式)

    这份文档可能涵盖了TCP和UDP套接字的创建、连接、读写操作,以及异常处理和多线程在socket通信中的应用。 4. **Introduction to OO.pdf**:面向对象(Object-Oriented Programming, OOP)是Java的核心特性。此文档...

    The java tutorial

    - **Socket编程**:了解TCP和UDP通信的基础,如何实现客户端和服务器之间的数据交换。 - **HTTP请求**:学习使用HttpURLConnection或HttpClient发送HTTP请求,获取服务器响应。 7. **Java Swing与JavaFX** - **...

    C\C++语言网络开发详解

    虽然本文档中的内容主要针对 C 语言、UNIX 和 TCP/IP,但 Socket API 的一般格式已经移植到了 Java 和 Perl 等其他语言中。此外,某些 UNIX 厂商还提供了支持其他协议(如 IPX、SNA 和 DEC-NET)的 Socket 库。微软 ...

    Java-example-programs:我为考试做的一些Java程序

    Java提供了Socket和ServerSocket类,可用于创建客户端和服务器应用程序。示例程序可能包含简单的TCP或UDP通信,展示了如何使用Java进行网络编程。 10. **泛型** 泛型是Java 5引入的特性,允许在编译时检查类型...

    java聊天源代码,包括客户端和服务端

    1. **Java网络编程**:Java提供了丰富的网络编程API,如`java.net.Socket`和`java.net.ServerSocket`类,用于创建客户端和服务器之间的连接。客户端通过Socket连接到服务器,服务器通过ServerSocket监听客户端的连接...

    马拉托纳-德Programa-o

    8. **网络编程**: Java的`java.net` 包提供了一系列类和接口,用于实现TCP和UDP网络通信,如Socket和ServerSocket。 9. **Java标准库**: Java的API包含了丰富的类和接口,涵盖了数学运算、日期时间、XML处理、...

    p2p.zip_P2P

    【描述】中的"a simple p2p java program"暗示这是一个用Java语言编写的简单P2P应用程序。Java是一种跨平台的编程语言,以其“一次编写,到处运行”的特性而闻名,因此适合开发可以在不同操作系统上运行的P2P软件。 ...

    获取本机IP

    在开发网络应用时,我们常常需要使用到网络通信类库,例如Python的`socket`库、Java的`java.net`包、C#的`System.Net`命名空间等。这些类库提供了丰富的功能,包括创建套接字、进行TCP/UDP通信、解析域名等,而获取...

    黑马面试题总结

    - **程序计数器(Program Counter Register)**:线程私有,指向下一条指令的地址。 - **虚拟机栈(VM Stack)**:描述的是Java方法执行的内存模型。 - **本地方法栈(Native Method Stack)**:为虚拟机使用到的Native...

    windows网络与通信程序设计源代码

    10. **编程语言与库**:虽然这里没有指定具体的编程语言,但通常C++、C#、Java等语言都会被用来编写Windows网络应用程序,它们都有相应的库支持网络编程,如C++中的Boost.Asio,C#中的System.Net命名空间。...

    KUKA机器人EthernetKRL安装教程

    EthernetKRL是由KUKA公司提供的一个以太网通信功能软件包,它支持TCP和UDP两种主要的网络通信协议,旨在帮助用户实现KUKA机器人与其他设备之间的数据交换。 #### 二、安装准备工作 在开始安装前,需要准备以下工具...

    Programacao-Computadores-II

    8. **网络编程**:使用Socket进行客户端-服务器通信,理解TCP和UDP协议的区别。 9. **Java API**:深入学习Java标准库中的类和方法,如Math、Date、Calendar等。 10. **JUnit测试**:学习编写单元测试,确保代码的...

    python3.6.5参考手册 chm

    socket socketserver ssl statistics struct subprocess sys telnetlib time timeit tkinter traceback tracemalloc typing unicodedata unittest.mock urllib.request urllib.robotparser venv ...

Global site tag (gtag.js) - Google Analytics