Java Nio UDP 消息发送
来源:互联网 发布:天敏网络机顶盒无信号 编辑:程序博客网 时间:2024/05/01 19:15
package ch3;import java.io.IOException;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.DatagramChannel;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.charset.Charset;import java.util.Iterator;/** * UDP 传送数据服务器 * @author Administrator * */public class UDPServerSocket {public static void main(String[] args) throws Exception {//打开UDP数据包通道DatagramChannel dgc=DatagramChannel.open();//设置非阻塞模式dgc.configureBlocking(false);//打开选择器Selector selector = Selector.open();//绑定服务器端口dgc.socket().bind(new InetSocketAddress(10001));//注册选择器dgc.register(selector, SelectionKey.OP_READ);System.out.println("UDP 服务器开启");ByteBuffer bb=ByteBuffer.allocateDirect(8);while(true){selector.select();Iterator<SelectionKey> keys=selector.selectedKeys().iterator();while(keys.hasNext()){SelectionKey sk=keys.next();//判断是否准备好进行读取if(sk.isReadable()){DatagramChannel curdc=(DatagramChannel) sk.channel();//接收数据InetSocketAddress address=(InetSocketAddress) curdc.receive(bb);System.out.println("接收来自:"+address.getAddress().getHostAddress()+":"+address.getPort());bb.flip();byte[] b= new byte[bb.limit()];for(int i=0;i<bb.limit();i++){b[i]=bb.get(i);}System.out.println(new String(b));bb.clear();//返回消息给发送端ByteBuffer cbc = ByteBuffer.allocate(8);cbc.put("byte".getBytes());cbc.flip();curdc.send(cbc, address);}}}}}
package ch3;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.DatagramChannel;import java.nio.channels.SelectionKey;import java.nio.channels.Selector;import java.nio.charset.Charset;import java.util.Iterator;/** * UDP消息发送客户端 * @author Administrator * */public class UDPClientSocket {public static void main(String[] args) throws Exception {DatagramChannel dgc= DatagramChannel.open();dgc.configureBlocking(false);InetSocketAddress isa = new InetSocketAddress("localhost",10001);//连接dgc.connect(isa);ByteBuffer bb=ByteBuffer.allocate(8);bb.put("哈哈".getBytes("UTF-8"));bb.flip();dgc.send(bb,isa);}}
0 0
- Java Nio UDP 消息发送
- java发送UDP消息
- Java UDP Socket消息发送
- Java NIO UDP发送接收数据
- Java NIO DatagramChannel UDP
- Udp消息发送接收示例
- Qt使用udp发送消息
- UDP发送组播消息
- [分布式java]基于JavaAPI实现消息方式的系统间通信:UDP/IP+NIO
- kafka发送消息出现的问题KafKa error java.nio.channels.UnresolvedAddressException
- UDP聊天代码发送消息客户端代码
- 使用UDP发送和接收消息
- actionscript3 as3 air3.2 发送udp消息
- NetworkComms V3 之发送UDP广播消息
- c# 使用udp发送和读取消息
- udp发送和接收消息,服务端
- udp采用sendmsg发送消息失败
- UDPSender 一个基于NIO的UDP发送器/接收器
- 关于强制程序以管理员方式运行的方法
- 谷歌在招什么样的人?
- 高并发.大数据--解决方案--几件利器
- CSDN之人人code,整数取反
- Facebook如何找到一流人才?
- Java Nio UDP 消息发送
- freemarker 的优点和缺点
- 嗯,那些待我挑战的一些东西(在完成《数据结构》这本书后当做复习&提升的目录)
- redo文件破坏恢复
- Proxy and Reverse Proxy
- 信息检索IR的评价指标综述
- 直播阿里下午茶II——彭蕾回答阿里的人力资源问题
- 验证登陆信息的合法性
- Jquery fileupload和nodejs实现文件异步上传