`

java udp socket 编程

阅读更多
服务器端:

package udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.util.Calendar;

public class UdpTimeServerDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		byte[] buffer=new byte[1024];
		DatagramSocket udpServerSocket;
		DatagramPacket udpSendPacket; //发送的包
		DatagramPacket udpReceivePacket;//接收的包
		try {
			udpServerSocket=new DatagramSocket(8000);
			udpReceivePacket=new DatagramPacket(buffer,buffer.length);
			udpServerSocket.receive(udpReceivePacket);
			InetAddress clientAddress = udpReceivePacket.getAddress(); // 得到客户端的地址
			int clientPort=udpReceivePacket.getPort();                 // 得到客户端的端口
			String  s = new String(udpReceivePacket.getData()); 
            System.out.println("客户地址:"+clientAddress
                                               +"  客户端口号:"+clientPort);    
            System.out.println("服务器端收到客户发送数据:"+s);
          //发送数据                
            udpSendPacket = new DatagramPacket(buffer, buffer.length, 
                        clientAddress, clientPort); //设置要发送的数据a
            String msg="已收到连接,你好客户端!";
            udpSendPacket.setData(msg.getBytes());                
            udpServerSocket.send(udpSendPacket); //最后,发送数据包      
            s= new String(udpSendPacket.getData(),0,udpSendPacket.getLength());   
            System.out.println("服务器响应请求:"+s);    
		} catch (IOException ex) {
						ex.printStackTrace();
		}
	}
}


客户端:

package 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;

public class UdpTimeClientDemo {


	public static void main(String[] args) throws IOException {
		byte[] buffer=new byte[1024];
		DatagramSocket udpClientSocket;
		DatagramPacket udpSendPacket;
		DatagramPacket udpReceivePacket;
		InetAddress hostAddress;
		
		try {
			udpClientSocket=new DatagramSocket(3333);
			hostAddress = InetAddress.getByName("localhost");
			udpSendPacket=new DatagramPacket(buffer,buffer.length,hostAddress,8000);
			String s="客户请求连接,你好服务器端!";
			udpSendPacket.setData(s.getBytes());
			udpClientSocket.send(udpSendPacket);
			System.out.println("客户端发送连接请求:"+s);
			udpReceivePacket=new DatagramPacket(buffer,buffer.length,hostAddress,8000);
			udpClientSocket.receive(udpReceivePacket);
			String str=new String(udpReceivePacket.getData());
			System.out.println("客户端接收到服务器端响应:"+str);
		} catch (SocketException e) {
						e.printStackTrace();
		}
		
		
	}

}

分享到:
评论

相关推荐

    java udp socket 网络编程

    Java UDP套接字网络编程是Java编程领域中的一个重要部分,主要涉及如何利用Java的Socket类库来实现基于用户数据报协议(User Datagram Protocol)的通信。UDP是一种无连接的、不可靠的传输协议,适用于对实时性要求...

    java Udp 收发结构体实例 Socket编程

    Java UDP(用户数据报协议)收发结构体实例与Socket编程是网络通信中的重要主题,尤其是在需要高效、无连接的数据传输场景下。UDP是一种无连接的传输层协议,相较于TCP,它提供了更低的延迟和更高的吞吐量,但不保证...

    总结java_socket编程.doc

    在Java中,Socket编程主要是基于TCP/IP协议的网络编程。 网络编程的两个主要问题 在网络编程中,有两个主要的问题需要解决:一是如何准确地定位网络上的一台或多台主机,二是找到主机后如何可靠高效地进行数据传输...

    UDPSocket编程客户端和服务端

    UDP Socket编程是利用UDP协议进行网络通信的一种方式,涉及客户端和服务端的交互。 **UDP Socket编程基础** UDP Socket编程的核心在于创建Socket,绑定端口,发送和接收数据报。在客户端,我们通常会创建一个Socket...

    JAVA UDPSocket代码

    **二、UDP Socket编程步骤** 1. **创建Socket**: 使用`DatagramSocket(int port)`构造函数创建一个监听特定端口的UDP Socket。如果没有指定端口,系统会分配一个可用端口。 2. **创建数据包**: 使用`...

    Java Socket编程实现UDP网络测试

    Java Socket编程实现UDP网络测试是计算机网络领域中的一个重要实践,主要涉及到Java编程语言以及网络通信协议UDP(User Datagram Protocol)。Socket在计算机网络中扮演着桥梁的角色,它允许应用程序通过网络发送和...

    java程序socket编程示例代码

    Java程序socket编程示例代码 Java程序socket编程是Java语言中的一种网络编程方式,主要用于实现客户机/服务器(C/S)架构的通信。下面是Java程序socket编程的示例代码,包括Server端和Client端的实现。 Socket编程...

    精通JAVA_SOCKET编程技术

    精通JAVA_SOCKET编程技术 在深入理解JAVA_SOCKET编程技术之前,我们首先需要明确Socket的基本概念及其在Java中的应用。Socket,即套接字,是网络通信的基础,它提供了一种在网络中进行数据交换的方式,使不同计算机...

    总结java_socket编程

    Java Socket编程主要涉及TCP和UDP这两种传输协议。 TCP(传输控制协议)是一种面向连接、可靠的协议。在TCP中,数据以有序且无错误的形式传输。在通信开始前,发送方和接收方的Socket需要建立连接。连接建立后,...

    Java socket网络编程的基础示例

    在Java中,我们可以使用`java.net.Socket`类和`java.net.ServerSocket`类来实现TCP Socket编程。`ServerSocket`用于监听客户端的连接请求,`Socket`则代表一个客户端连接。以下是一个简单的TCP服务器端和客户端示例...

    Java TCPIP Socket编程.pdf

    Java TCPIP Socket编程是Java开发语言在后端服务中实现网络通信的重要技术,它基于Apache等开源库提供了丰富的API来创建高效、可靠的网络连接。本章将深入探讨Socket编程的基本概念和实现方法。 1. 计算机网络、...

    UDP聊天&文件发送.rar_JAVA socket编程_java_java udp_java udp通信_套接字通信

    在这个"UDP聊天&文件发送.rar"项目中,开发者利用Java的Socket编程接口实现了基于UDP的聊天应用,支持单人和多人聊天功能,并且具备文件发送的能力。以下将详细介绍相关的Java UDP通信和套接字通信知识点。 1. **...

    Java网络socket编程详解

    另外,Java网络socket编程也支持UDP协议,该协议是一种无连接的协议,提供了一种不可靠的数据报服务。相比于TCP,UDP协议在网络通信中具有较低的延迟,但数据传输过程中的可靠性和顺序无法得到保证。在需要快速传输...

    j2mecode_java_socket_

    这个“j2mecode_java_socket_”实例集提供了学习和实践Java UDP Socket编程的机会,尤其是在MIDP环境下的应用。通过研究这些代码,开发者可以掌握如何在资源有限的小型设备上构建可靠的网络应用程序,这对于移动游戏...

    JAVA进行UDP编程

    下面将详细介绍Java进行UDP编程的相关知识点。 **一、UDP的特点** 1. **无连接性**:UDP不建立连接,直接发送数据,因此速度快,但可能会丢失数据或顺序错乱。 2. **不可靠性**:UDP不保证数据包的接收,也不检测和...

    Java面试之Socket编程

    总之,Java的Socket编程涉及网络通信的核心概念,包括TCP和UDP协议的理解,以及如何在Java中实现这两个协议的通信。理解和熟练掌握Socket编程对于开发网络应用程序至关重要。在面试中,候选人需要展示他们能有效处理...

    java socket 编程,Java socket 编程实例

    ### Java Socket编程详解及实例分析 #### 一、Socket编程基础概述 在计算机网络通信领域,Socket编程是一种广泛使用的通信方式。它为不同主机上的进程提供了双向通信的能力,是网络编程的基础之一。Java语言提供了...

    JAVA Socket 网络编程教程

    本教程将深入探讨Java Socket编程的基本概念、原理和实践应用。 一、Socket基本概念 Socket,也被称为套接字,是网络通信中的一个重要接口,它为两台计算机提供了一个低级别的、进程到进程的通信机制。在Java中,...

    Java_TCPIP_Socket编程(中+英两本)

    《TCP-IP Sockets in Java, 2nd Edition》作为外文教材,详细介绍了Java Socket编程的各个方面,包括TCP和UDP协议、套接字选项、异步I/O以及高级主题如NIO(非阻塞I/O)和NLPIJ(网络负载平衡和持久性接口)。...

Global site tag (gtag.js) - Google Analytics