`

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.net.UnknownHostException;

public class SimpleClient {

	private DatagramSocket socket; // udp套接字
	DatagramPacket packet = null;// udp数据包

	public static void main(String[] args) {
		SimpleClient client = new SimpleClient();
		try {
			client.connect();
			client.send();
			client.disconnect();
		} catch (SocketException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	private void disconnect() {

		socket.close();
	}

	private void send() throws IOException {

		byte[] buf = new String("UDP TEST data from client").getBytes(); //创建发送数据缓冲区
		// 数据包包括所有的信息,ip地址,端口号及要发送的数据
		DatagramPacket packet = new DatagramPacket(buf, buf.length, InetAddress
				.getByName("localhost"), 8888);
		
//		发送请求
		System.out.println("serverPort  = " + 8888);
		socket.send(packet);
		System.out.println("packet.getData()=" + new String(packet.getData()));
	}
	private void connect() throws SocketException { //创建连接

		socket = new DatagramSocket();
	}

}

服务器端:
package udp;

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

public class SimpleServer {
	DatagramSocket socket; // udp套接字
	DatagramPacket packet = null;// udp数据包

	public static void main(String[] args) {

		SimpleServer server = new SimpleServer();
		try {
			server.connect(8888);  //连接
			server.accept();          //接收请求
			server.disconnect();      //关闭套接字
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	private void disconnect() {
		socket.close();
	}

	private void accept() throws IOException {

		reveive();
	}

	private void reveive() throws IOException {
		// 默认缓冲区大小,如果设置的缓冲区大小小于客户端发送的数据大小,怎么办??
		byte[] buf = new byte[25];
		packet = new DatagramPacket(buf, buf.length);

		// 接收请求
		socket.receive(packet);
		System.out
				.println("Received package = " + new String(packet.getData()));
	}

	private void connect(int port) throws SocketException { // 创建连接

		socket = new DatagramSocket(port);
		socket.setReceiveBufferSize(512);

	}
}

分享到:
评论

相关推荐

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

    java Udp 收发结构体实例 Socket编程 Udp收发大数据 单向传输 无需握手 广播 指定ip

    JAVA UDP客户端服务端编写实例.rar

    JAVA UDP客户端服务端编写实例,  byte[] buffer=new byte[256]; //缓冲区数组  DatagramSocket socket=new DatagramSocket(port);//实例化数据报Socket  DatagramPacket packet;  System.out.println(...

    java Socket UDP实例详解

    主要介绍了java Socket UDP实例详解的相关资料,需要的朋友可以参考下

    Java TCPIP Socket编程 源码

    服务器端要同时处理ServerSocket实例和Socket实例,而客户端只需要使用Socket实例。另外,每个Socket实例会关联一个InputStream和OutputStream对象,我们通过将字节写入套接字的OutputStream来发送数据,并通过从...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    Java基于socket服务实现UDP协议的方法

    主要介绍了Java基于socket服务实现UDP协议的方法,通过两个简单实例分析了java通过socket实现UDP发送与接收的技巧,需要的朋友可以参考下

    提高UDP传输效率的实例

    大家都知道UDP相对于TCP速度要快,但是UDP很容易丢包,这个实例就会很好的解决UDP丢包的弊病,但是并不是100%解决丢包,只是减少了丢包的概率,希望对大家有用

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    基于UDP和TCP协议的Socket(网络编程/套接字)案例

    用java编写的基于UDP和TCP两种协议编写的Socket(网络编程)案列

    Java Socket编程实例(二)- UDP基本使用

    主要讲解Java Socket编程中UDP的基本使用,希望能给大家做一个参考。

    android开发socket编程之udp发送实例分析

    本文实例讲述了android开发socket编程之udp发送实现方法。分享给大家供大家参考。具体分析如下: 需要实现的功能:采用udp下的socket编程,当按下确认键,模拟器发送文本框数据,pc机上的网络调试助手接收 一、环境...

    基于Socket的分布计算实例java源代码

    1、供java socket编程的初学者学习使用,严禁用作作业抄袭和商业用途。若转载源代码,请注明原作者以及作者的博客地址。 2、TCPChatRoomServer(服务器端),TCPChatRoomClient(客户端) 3、开发环境:MyEclipse 6.0...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    Java Socket编程实例(五)- NIO UDP实践

    主要讲解Java Socket编程中NIO UDP的实例,希望能给大家做一个参考。

    j2mecode_java_socket_

    MIDP 手机编程实例集源码,包括了UDP Socket方面的编程技巧

    Java实现UDP服务器和客户端模型.rar

    Java实现UDP服务器模型,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。比如客户端模型如下:  DatagramSocket socket=new DatagramSocket(); //实例化一个数据报Socket  ...

    Java网络编程实例 (作者:孙一林 彭波)

    本书是一本以网络应用实例为主的实用型参考书,主要包括访问资源、网络Applet小程序、Socket、UDP协议通讯、网络组播、邮件收发、远程方法调用、多媒体数据流的传输和播放,以及常用网络工具的实例等。在配书光盘中...

    第十一章-网络编程+UDPSocket+TCPSocket+第12章 Java网络技术(教学扩展).doc

    我叫张俭,我的QQ745249934 欢迎有兴趣的朋友与我联系共同探讨编程的知识更希望您能够伴我解决一些我不算太懂的问题。...这里面的网络编程知识不多只是几个实例,向这些内容我这里还有很多有需要的朋友和我联系

    apache mina socket实例

    mina简单示例,Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速...

Global site tag (gtag.js) - Google Analytics