UDP简单例子
来源:互联网 发布:巴洛克的艺术风格 知乎 编辑:程序博客网 时间:2024/06/05 22:42
最原始:
server
package com.udptest;import java.io.*;import java.net.*;/** * Created by jiajia on 2017/7/21/021. */public class UDPServer { public static void main(String[] args) throws IOException { DatagramSocket server = new DatagramSocket(8080); byte[] recvBuf = new byte[100]; DatagramPacket recvPacket = new DatagramPacket(recvBuf, recvBuf.length); server.receive(recvPacket); String recvStr = new String(recvPacket.getData(), 0, recvPacket .getLength()); System.out.println("客户端传来消息:" + recvStr); int port = recvPacket.getPort(); InetAddress addr = recvPacket.getAddress(); String sendStr = "Hello ! I'm Server"; byte[] sendBuf; sendBuf = sendStr.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendBuf, sendBuf.length,addr, port); server.send(sendPacket); server.close(); }}
client
package com.udptest;import java.io.*;import java.net.*;/** * Created by jiajia on 2017/7/21/021. */public class UDPClient { public static void main(String[] args) throws IOException { DatagramSocket client = new DatagramSocket(); String sendStr = "Hello! I'm Client"; byte[] sendBuf; sendBuf = sendStr.getBytes(); InetAddress addr = InetAddress.getByName("10.0.10.220"); int port = 8080; DatagramPacket sendPacket = new DatagramPacket(sendBuf, sendBuf.length, addr, port); client.send(sendPacket); byte[] recvBuf = new byte[100]; DatagramPacket recvPacket = new DatagramPacket(recvBuf, recvBuf.length); client.receive(recvPacket); String recvStr = new String(recvPacket.getData(), 0, recvPacket.getLength()); System.out.println("服务端传来消息:" + recvStr); client.close(); }}
使用netty之后的:
public void initServer() { try { Bootstrap b = new Bootstrap(); EventLoopGroup group = new NioEventLoopGroup(); b.group(group) .channel(NioDatagramChannel.class) .option(ChannelOption.SO_BROADCAST, true) .handler(new UdpServerHandler()); b.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(65535)); b.bind(searchPort); } catch (Exception e) { log.warn("sever 启动失败", e); } } private static class UdpServerHandler extends SimpleChannelInboundHandler<DatagramPacket> { @Override protected void channelRead0(ChannelHandlerContext channelHandlerContext, DatagramPacket datagramPacket) throws Exception { ByteBuf content = datagramPacket.copy().content(); //... ... //处理数据 } }
阅读全文
3 0
- JAVA udp 简单例子
- UDP简单通信例子
- java udp简单例子
- UDP简单例子
- linux UDP的简单例子
- java UDP 编程简单例子
- udp socket的简单例子
- MATLAB UDP-广播 简单例子
- UDP网络通信的简单例子
- Linux下的UDP Socket简单例子
- Linux下UDP的简单例子
- linux下socket UDP简单例子
- Java简单的UDP通讯例子
- [Java]UDP通信的简单例子
- C#简单的UDP通信例子
- 简单的UDP通信的例子
- 一个简单的UDP接收例子
- socket的UDP通信简单例子
- 第一天纪念
- 设置模式(3)——策略模式
- Java实现折半插入排序
- SVN 安装部署并设置为自动同步到实际的项目
- 数据结构跑路篇——冒泡排序
- UDP简单例子
- VGG Face测试的Python版本
- 动态顺序表
- 一、python环境搭建
- Python+Selenium注册登录各个功能流程验证脚本
- HTTP method POST is not supported by this URL错误的解决方案
- 配置单臂路由器
- J
- linux下PPTP Server测试环境搭建