package org.infosec.ismp.manager.event; 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.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Date; /** * UDP发送事件字符串对象 * * @author jiel * */ public class UDPClient { private DatagramSocket dataSocket; private DatagramPacket dataPacket; public UDPClient() throws SocketException { dataSocket = new DatagramSocket(); } /** * UPD发送方法 * * @param address * UDP服务端地址 * @param port * UDP服务端端口 * @param eventString * 带发送字符串 * @throws IOException */ public void send(InetAddress address, int port, String eventString) throws IOException { byte[] dataBytes = eventString.getBytes(); dataPacket = new DatagramPacket(dataBytes, dataBytes.length, address, port); dataSocket.send(dataPacket); } /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { EventModel model = new EventModel(); model.setEventId("111"); model.setSrcMod("syslog"); model.setEventType("ids"); model.setSeverity("1"); model.setTargetAddr("192.168.9.101"); EventModel model2 = new EventModel(); // model2.setEventId("111"); model2.setSrcMod("syslog"); model2.setEventType("ids"); model2.setSeverity("2"); model2.setTargetAddr("192.168.9.105"); UDPClient udp = new UDPClient(); InetAddress address = InetAddress.getByName("192.168.9.175"); for (;;) { model.setEventTime(formatFormalDate(System.currentTimeMillis())); model2.setEventTime(formatFormalDate(System.currentTimeMillis())); EventModel[] modelArray = { model, model2 }; // String eventString = EventModelParse.getEventModelParseString(model); String eventString = EventModelParse .getEventModelParseString(modelArray); System.out.println(eventString); udp.send(address, 5000, eventString); Thread.sleep(10000); } } private static final SimpleDateFormat formatterFormalDate = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss"); public static final String formatFormalDate(long time) { return formatterFormalDate.format(new java.util.Date(time)); } }