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();
}
}
分享到:
相关推荐
9. **网络编程**:如何使用Socket进行客户端/服务器通信,处理TCP和UDP协议。 10. **图形用户界面(GUI)编程**:使用Swing库创建桌面应用,包括JFrame、JButton、JLabel、JTextArea等组件,以及事件监听。 11. **...
9. **API使用**:可能涉及到具体的编程语言(如C、C++、Python、Java等)的socket API使用示例和最佳实践。 压缩包子文件"ADP PROGRAM.docx"很可能是详细讲述以上知识点的文档,它可能包含了代码示例、步骤解析、...
java -jar your-program.jar ``` 5. 发布与部署:将打包好的JAR文件和启动脚本上传至服务器,或者提供下载链接给用户。确保目标环境已安装Java运行时环境(JRE)。 四、安全与注意事项 - 端口扫描可能被视为...
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练习题知识点详解 #### 1. 冒泡排序法 **知识点**: 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到...
这份文档可能涵盖了TCP和UDP套接字的创建、连接、读写操作,以及异常处理和多线程在socket通信中的应用。 4. **Introduction to OO.pdf**:面向对象(Object-Oriented Programming, OOP)是Java的核心特性。此文档...
- **Socket编程**:了解TCP和UDP通信的基础,如何实现客户端和服务器之间的数据交换。 - **HTTP请求**:学习使用HttpURLConnection或HttpClient发送HTTP请求,获取服务器响应。 7. **Java Swing与JavaFX** - **...
虽然本文档中的内容主要针对 C 语言、UNIX 和 TCP/IP,但 Socket API 的一般格式已经移植到了 Java 和 Perl 等其他语言中。此外,某些 UNIX 厂商还提供了支持其他协议(如 IPX、SNA 和 DEC-NET)的 Socket 库。微软 ...
Java提供了Socket和ServerSocket类,可用于创建客户端和服务器应用程序。示例程序可能包含简单的TCP或UDP通信,展示了如何使用Java进行网络编程。 10. **泛型** 泛型是Java 5引入的特性,允许在编译时检查类型...
1. **Java网络编程**:Java提供了丰富的网络编程API,如`java.net.Socket`和`java.net.ServerSocket`类,用于创建客户端和服务器之间的连接。客户端通过Socket连接到服务器,服务器通过ServerSocket监听客户端的连接...
8. **网络编程**: Java的`java.net` 包提供了一系列类和接口,用于实现TCP和UDP网络通信,如Socket和ServerSocket。 9. **Java标准库**: Java的API包含了丰富的类和接口,涵盖了数学运算、日期时间、XML处理、...
【描述】中的"a simple p2p java program"暗示这是一个用Java语言编写的简单P2P应用程序。Java是一种跨平台的编程语言,以其“一次编写,到处运行”的特性而闻名,因此适合开发可以在不同操作系统上运行的P2P软件。 ...
在开发网络应用时,我们常常需要使用到网络通信类库,例如Python的`socket`库、Java的`java.net`包、C#的`System.Net`命名空间等。这些类库提供了丰富的功能,包括创建套接字、进行TCP/UDP通信、解析域名等,而获取...
- **程序计数器(Program Counter Register)**:线程私有,指向下一条指令的地址。 - **虚拟机栈(VM Stack)**:描述的是Java方法执行的内存模型。 - **本地方法栈(Native Method Stack)**:为虚拟机使用到的Native...
EthernetKRL是由KUKA公司提供的一个以太网通信功能软件包,它支持TCP和UDP两种主要的网络通信协议,旨在帮助用户实现KUKA机器人与其他设备之间的数据交换。 #### 二、安装准备工作 在开始安装前,需要准备以下工具...
10. **编程语言与库**:虽然这里没有指定具体的编程语言,但通常C++、C#、Java等语言都会被用来编写Windows网络应用程序,它们都有相应的库支持网络编程,如C++中的Boost.Asio,C#中的System.Net命名空间。...
8. **网络编程**:使用Socket进行客户端-服务器通信,理解TCP和UDP协议的区别。 9. **Java API**:深入学习Java标准库中的类和方法,如Math、Date、Calendar等。 10. **JUnit测试**:学习编写单元测试,确保代码的...
socket socketserver ssl statistics struct subprocess sys telnetlib time timeit tkinter traceback tracemalloc typing unicodedata unittest.mock urllib.request urllib.robotparser venv ...