摘要:上一篇,我初步整理了服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。
上一篇,我初步整理了Syslog服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。
package com.tony.util; import java.io.*; import java.net.*; /** * UDP客戶端程序,用于對服務端發送數據,并接收服務端的回應信息. * Title: SyslogClient * Description: none * Copyright @ 2012~2015 HP
* @author Tony * @createDate 2015年8月18日 * @version v1.0 */ public class SyslogClient { private byte[] buffer = new byte[1024]; private DatagramSocket ds = null; /** * 構造函數,創建UDP客戶端 * @throws Exception */ public SyslogClient() throws Exception { ds = new DatagramSocket(); } /** * 設置超時時間,該方法必須在bind方法之后使用. * @param timeout 超時時間 * @throws Exception */ public final void setSoTimeout(final int timeout) throws Exception { ds.setSoTimeout(timeout); } /** * 獲得超時時間. * @return 返回超時時間 * @throws Exception */ public final int getSoTimeout() throws Exception { return ds.getSoTimeout(); } public final DatagramSocket getSocket() { return ds; } /** * 接收從指定的服務端發回的數據. * @param lhost 服務端主機 * @param lport 服務端端口 * @return 返回從指定的服務端發回的數據. * @throws Exception */ public final String receive(final String lhost, final int lport) throws Exception { DatagramPacket dp = new DatagramPacket(buffer, buffer.length); ds.receive(dp); String info = new String(dp.getData(), 0, dp.getLength()); return info; } /** * 關閉udp連接. */ public final void close() { try { ds.close(); } catch (Exception ex) { ex.printStackTrace(); } } /** * 向指定的服務端發送數據信息. * @param host 服務器主機地址 * @param port 服務端端口 * @param bytes 發送的數據信息 * @return 返回構造后俄數據報 * @throws IOException */ public final DatagramPacket send(final String host, final int port, final byte[] bytes) throws IOException { DatagramPacket dp = new DatagramPacket(bytes, bytes.length, InetAddress .getByName(host), port); ds.send(dp); return dp; } /** * 測試客戶端發包和接收回應信息的方法. * @param args * @throws Exception */ public static void main(String[] args) throws Exception { SyslogClient client = new SyslogClient(); //這里我們在本機測試,使用本機IP即可 String serverHost = "127.0.0.1"; int serverPort = 514; client.send(serverHost, serverPort, ("什么都可以的接收參數").getBytes()); String info = client.receive(serverHost, serverPort); System.out.println("服務端回應數據:" + info); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64518.html
總體來說,如果做企業級日志管理分析,我們第一步就需要接入設備的日志,而大部分的操作系統都是支持syslog的,一般我們對日志這種敏感級別不是很高的信息通過UDP的形式從客戶機發送到syslog接收服務器,syslog我們一般不會主動去采集,而是當客戶機上有操作時產生的日志會自動發送到syslog接收服務器。下面是一個接收syslog的例子。 package com.tony.util; impor...
摘要:給出的日志等級順序就是記錄最小到最嚴謹的日志等級順序。錯誤日志格式不支持自定義日志格式但他同樣記錄當前時間日志等級和具體信息等數據。日志緩沖區當系統處于負載狀態時,啟用日志緩沖區以降低進程阻塞。 原文鏈接: 何曉東 博客 如果想統計網站的訪問來源信息,可以用 php 獲取信息,記錄到數據庫的形式,也可以直接使用 nginx 提供的訪問日志,來記錄網站的訪問詳情,管理員可以通過分析 ng...
摘要:給出的日志等級順序就是記錄最小到最嚴謹的日志等級順序。錯誤日志格式不支持自定義日志格式但他同樣記錄當前時間日志等級和具體信息等數據。日志緩沖區當系統處于負載狀態時,啟用日志緩沖區以降低進程阻塞。 原文鏈接: 何曉東 博客 如果想統計網站的訪問來源信息,可以用 php 獲取信息,記錄到數據庫的形式,也可以直接使用 nginx 提供的訪問日志,來記錄網站的訪問詳情,管理員可以通過分析 ng...
閱讀 982·2021-11-23 09:51
閱讀 2695·2021-08-23 09:44
閱讀 655·2019-08-30 15:54
閱讀 1432·2019-08-30 13:53
閱讀 3100·2019-08-29 16:54
閱讀 2527·2019-08-29 16:26
閱讀 1186·2019-08-29 13:04
閱讀 2313·2019-08-26 13:50