文档章节

<Java 网络基础知识>学习日志(四)——基于UDP的socket实现

WhuBit
 WhuBit
发布于 2016/11/19 23:20
字数 324
阅读 2
收藏 0
package 网络基础知识;

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

public class UDPServerSocket {
	/*
	 * 2016/11/19
	 * 基于UDP的Socket
	 */

	public static void main(String[] args) {
		//1.创建DatagramSocket,指定端口号
		DatagramSocket socket;
		try {
			socket = new DatagramSocket(8888);
			//2.创建DatagramPacket
			byte[] bytes=new byte[1024];//创建字节数组
			DatagramPacket dp=new DatagramPacket(bytes, bytes.length);
			//3.接收客户端发送的数据信息
			socket.receive(dp);//此方法在接受到数据报之前会一直阻塞
			//4.读取数据
			String info=new String(bytes,0,dp.getLength());
			System.out.println("我是服务器,客户端说:"+info);
			
			//向客户端响应信息
			InetAddress address=dp.getAddress();
			int port=dp.getPort();
			byte[] data="欢迎您".getBytes();
			DatagramPacket packet=new DatagramPacket(data, data.length, address, port);
			socket.send(packet);
			socket.close();
		} catch (SocketException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		

	}

}

package 网络基础知识;

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

public class UDPClientSocket {
	/*
	 * 2016/11/19
	 * 基于UDP的Socket
	 */

	public static void main(String[] args) throws SocketException, UnknownHostException {
		//1.定义发送信息
		try {
			InetAddress address=InetAddress.getByName("localhost");
			int port=8888;
			byte[] data="用户名:SYX;密码:999999".getBytes();
			//2.创建DatagramPacket,包含要发送的对象
			DatagramPacket dp=new DatagramPacket(data, data.length, address, port);
			//3.创建datagramSocket
			DatagramSocket socket=new DatagramSocket();
			//4.发送数据
			socket.send(dp);
			
			byte[] bytes=new byte[1024];
			DatagramPacket packet=new DatagramPacket(bytes, bytes.length);
			socket.receive(packet);
			System.out.println("我是客户端,服务器说:"+new String(bytes,0,packet.getLength()));
			socket.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

}

© 著作权归作者所有

共有 人打赏支持
WhuBit
粉丝 1
博文 12
码字总数 4328
作品 0
武汉
私信 提问
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
更新本人的 Java 与 C++ 开源项目(2014.11)

*** Java *** 1、高效 Java Web 开发框架 JessMA 2、Java 日志切割清理工具 Log-Cutter *** C++ *** 1、通用高性能 Windows Socket 组件 HP-Socket 2、Windows C++ 应用程序通用日志组件 VC...

伤神小怪兽
2014/11/11
1K
12
架构师必备技能之Netty 高并发 UTS 项目实战

一、Netty Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基...

A尚学堂Nancy老师
2018/08/27
0
0
整理更新本人所属 Java 与 C++ 开源项目(2014.09)

*** Java *** 1、高效 Java Web 开发框架 JessMA 2、Java 日志切割清理工具 Log-Cutter *** C++ *** 1、通用高性能 Windows Socket 组件 HP-Socket 2、Windows C++ 应用程序通用日志组件 VC...

伤神小怪兽
2014/09/28
1K
16
JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议、Socket、UDP传输、多线程UDP聊天

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52723439 JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议...

Aduroidpc
2016/10/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark in action on Kubernetes - Playground搭建与架构浅析

前言 Spark是非常流行的大数据处理引擎,数据科学家们使用Spark以及相关生态的大数据套件完成了大量又丰富场景的数据分析与挖掘。Spark目前已经逐渐成为了业界在数据处理领域的行业标准。但是...

阿里云官方博客
26分钟前
3
0
小白大数据学习路线

学习大数据首先了解大数据技术得板块划分: 数据计算(离线计算):Hadoop、spark 数据计算(实时计算):storm、spartstreaming、flink 其他框架:zookeeper 数据采集:flume、Kafka 数据存...

董黎明
38分钟前
0
0
mariadb 内存占用优化

本文由云+社区发表 作者:工程师小熊 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调...

腾讯云加社区
今天
4
0
spring security 自定义登录认证

spring security 自定义认证登录 1.概要 1.1.简介 spring security是一种基于 Spring AOP 和 Servlet 过滤器的安全框架,以此来管理权限认证等。 1.2.spring security 自定义认证流程 1)认证...

EasyProgramming
今天
2
0
Win下Jenkins-2.138源码编译及填坑笔记

源码编译篇 1、 安装JDK1.8-181,操作系统添加JDK环境变量。Java -version验证一下。 注:Jenkins2.138版本,JDK必须jkd1.8.0-101以上,不支持Java9,Maven必须3.5.3以上。 2、 解压Maven3....

编程SHA
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部