摘要:最近在学,正好做一些笔记,以防止自己忘了。端创建绑定的与方法用于测试端接收消息本地测试打印结果
最近在学Java,正好做一些笔记,以防止自己忘了。
client端//UdpClient.java import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; public class UdpClient { private static DatagramSocket clientSocket = null; private InetSocketAddress serverAddress = null; public UdpClient(String host, int port) throws SocketException { clientSocket = new DatagramSocket( ); //创建socket serverAddress = new InetSocketAddress(host, port); //绑定sever的ip与port } public void send(String msg) throws IOException { try { byte[] data = msg.getBytes("utf-8"); DatagramPacket packet = new DatagramPacket(data, data.length, serverAddress); clientSocket.send(packet); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //main方法用于测试 public static void main(String[] args) throws Exception { UdpClient client = new UdpClient("127.0.0.1", 14586); client.send("hello world"); clientSocket.close(); } }server端
//UdpServer.java import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class UdpServer { private byte[] data = new byte[1024]; private static DatagramSocket serverSocket = null; private DatagramPacket packet = null; public UdpServer(int port) throws SocketException { serverSocket = new DatagramSocket(port); System.out.println("sever start!"); } //接收消息 public String recieve() throws IOException { packet = new DatagramPacket(data, data.length); serverSocket.receive(packet); String info = new String(packet.getData(), 0, packet.getLength()); System.out.println("recieve message from " + packet.getAddress().getHostAddress() + ":" + packet.getPort() + " "+ info); return info; } //本地测试 public static void main(String[] args) throws Exception { UdpServer server = new UdpServer(14586); server.recieve(); } }打印结果
sever start!
recieve message from 127.0.0.1:64478 hello world
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/64110.html
摘要:上一篇,我初步整理了服务端接收日志的例子,本篇主要是对客户端模拟操作的一个基本例子。 上一篇,我初步整理了Syslog服务端接收日志的例子,本篇主要是对客户端模拟操作的一个基本例子。 package com.tony.util; import java.io.*; import java.net.*; /** * UDP客户端程序,用于对服务端发送数据,并接...
摘要:这一点其实是非常不妥的,有潜在的安全问题。这次,在项目中终于采用了以它为基础的集群方案。相反,使用一个周期,但针对每个生成一个一次性的,模拟随机发送。同时,要记得用完之后立即释放。 当初创建简书账号的时候曾立下宏愿,希望保持周更,无奈现实残酷,整个5月都处于忙忙碌碌的状态,居然令这个本来并不算太宏伟的目标难以为继,最终导致5月份交了白卷!【好吧,我承认,是我意志不够坚定,太懒了,;)】...
摘要:整个包,按照功能可以大致划分如下锁框架原子类框架同步器框架集合框架执行器框架本系列将按上述顺序分析,分析所基于的源码为。后,根据一系列常见的多线程设计模式,设计了并发包,其中包下提供了一系列基础的锁工具,用以对等进行补充增强。 showImg(https://segmentfault.com/img/remote/1460000016012623); 本文首发于一世流云专栏:https...
阅读 2927·2023-04-26 01:52
阅读 3454·2021-09-04 16:40
阅读 3619·2021-08-31 09:41
阅读 1710·2021-08-09 13:41
阅读 476·2019-08-30 15:54
阅读 2913·2019-08-30 11:22
阅读 1588·2019-08-30 10:52
阅读 934·2019-08-29 13:24