Java通过Socket实现UDP编程及Socket总结

标签: java 网络 socket
304人阅读 评论(0) 收藏 举报
分类:

UDPServer.java

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

/*
 * 服务器端,实现基于UDP的用户登陆
 */
public class UDPServer {
	public static void main(String[] args) throws IOException {
		/*
		 * 接收客户端发送的数据
		 */
		//1.创建服务器端DatagramSocket,指定端口
		DatagramSocket socket=new DatagramSocket(8800);
		//2.创建数据报,用于接收客户端发送的数据
		byte[] data =new byte[1024];//创建字节数组,指定接收的数据包的大小
		DatagramPacket packet=new DatagramPacket(data, data.length);
		//3.接收客户端发送的数据
		System.out.println("****服务器端已经启动,等待客户端发送数据");
		socket.receive(packet);//此方法在接收到数据报之前会一直阻塞
		//4.读取数据
		String info=new String(data, 0, packet.getLength());
		System.out.println("我是服务器,客户端说:"+info);
		
		/*
		 * 向客户端响应数据
		 */
		//1.定义客户端的地址、端口号、数据
		InetAddress address=packet.getAddress();
		int port=packet.getPort();
		byte[] data2="欢迎您!".getBytes();
		//2.创建数据报,包含响应的数据信息
		DatagramPacket packet2=new DatagramPacket(data2, data2.length, address, port);
		//3.响应客户端
		socket.send(packet2);
		//4.关闭资源
		socket.close();
	}
}

UDPClient.java

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 UDPClient {
	public static void main(String[] args) throws IOException {
		/*
		 * 向服务器端发送数据
		 */
		//1.定义服务器的地址、端口号、数据
		InetAddress address=InetAddress.getByName("localhost");
		int port=8800;
		byte[] data="用户名:admin;密码:123".getBytes();
		//2.创建数据报,包含发送的数据信息
		DatagramPacket packet=new DatagramPacket(data, data.length, address, port);
		//3.创建DatagramSocket对象
		DatagramSocket socket=new DatagramSocket();
		//4.向服务器端发送数据报
		socket.send(packet);
		
		/*
		 * 接收服务器端响应的数据
		 */
		//1.创建数据报,用于接收服务器端响应的数据
		byte[] data2=new byte[1024];
		DatagramPacket packet2=new DatagramPacket(data2, data2.length);
		//2.接收服务器响应的数据
		socket.receive(packet2);
		//3.读取数据
		String reply=new String(data2, 0, packet2.getLength());
		System.out.println("我是客户端,服务器说:"+reply);
		//4.关闭资源
		socket.close();
	}
}

Socket总结








查看评论

HR-XML(可扩展人力资源标准)简介

HR-XML(可扩展人力资源标准)简介Flyspace (flyspace@x263.net)      2003年12月12日  标准出处:http://www.hr-xml.org标准简介:什么是...
  • FlySpace
  • FlySpace
  • 2003-12-13 02:25:00
  • 4745

JAVA Socket 实现 UDP 编程

UDP简介UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连...
  • qq_23473123
  • qq_23473123
  • 2016-05-20 23:09:49
  • 10745

Java 实现基于 UDP 的简单 socket 通信

实现基于UDP的简单 socket 通信
  • w_yunlong
  • w_yunlong
  • 2016-01-31 17:13:51
  • 2542

【Java TCP/IP Socket】UDP Socket(含代码)

UDP协议提供的服务不同于TCP协议的端到端服务,它是面向非连接的,属不可靠协议,UDP套接字在使用前不需要进行连接。实际上,UDP协议只实现了两个功能:     1)在IP协议的基础上添加了端口; ...
  • mmc_maodun
  • mmc_maodun
  • 2013-11-04 21:00:04
  • 32507

JAVA_UDP发送端和接受端

/* 通过UDP传输方式,将一段文字数据发送出去 1.建立udpsocket服务 2.提供数据,并将数据封装到数据包中。 3.通过socket服务的发送功能。将数据包发出去 4.关闭资源 类:...
  • ZJQLOVELYY
  • ZJQLOVELYY
  • 2013-01-26 15:53:06
  • 9978

java 网络编程(Socket) TCP/UDP 总结案例

网络编程:关注的是底层的数据传输 网页编程:数据的展示 1、基本概念 一、网络:将不同的计算机连接在一起局域网 城域网 互联网 二、地址:Ip地址确定网络上的绝对的地址位置  à房子的地址 三、...
  • qq_14996421
  • qq_14996421
  • 2016-05-21 22:55:33
  • 4702

Java网络编程实践和总结 --- 基于UDP的Socket编程

前面的blog介绍和总结基于TCP协议的网络编程。TCP提供了一种可靠的传输方式。如果数据在传输过程丢失或者损坏了,TCP会保证数据会再次发送,直到数据完整接受。如果数据包以乱序到达目的地,TCP也会...
  • joeyjobs
  • joeyjobs
  • 2015-04-02 19:54:29
  • 1867

Java---Socket编程UDP/TCP

• socket方便了应用程序访问通讯协议TCP/IP 。 • socket是作为通讯链入的端点。我们可以吧套接字看成是电话机,有了套接字,才有了通讯的工具。我们可以吧IP地址看成是电话号码,端口号...
  • xn4545945
  • xn4545945
  • 2012-10-22 14:39:53
  • 7810

Java 基于UDP的Socket网络编程的入门及示例

前言:天呐!这两天上班就像走钢丝啊,老大家里出事请假一周,手机关机,底层无人照看,机器又忙着定标,技术盲老板事事问我这个底层小白。做人好难呐。。。还是祝愿老大家里没有大碍吧,也保佑自己明天能安然度过。...
  • u014158743
  • u014158743
  • 2016-10-25 23:16:08
  • 1157

Java之--------Socket编程(UDP简单聊天室)

我们在生活中很容易能够使用聊天软件,其实很简单,当然功能也是很简单的,使用UDP就可以实现。这个程序,加上界面,就可以做出简单的聊天系统了...
  • yangxin_blog
  • yangxin_blog
  • 2015-09-07 00:23:00
  • 3385
    个人资料
    等级:
    访问量: 1万+
    积分: 656
    排名: 7万+
    文章存档