#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
自定义数据发送器 - 完全控制发送到Log Server的数据内容
"""

import socket
import struct
import time
try:
    import cPickle as pickle
except ImportError:
    import pickle

def send_custom_data(host='0.0.0.0', port=9020, data=None):
    """发送自定义数据到log server"""
    if data is None:
        data = "默认测试消息"
    
    try:
        # 创建socket连接
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.connect((host, port))
        
        # 序列化数据
        serialized_data = data
        
        # 发送数据长度（4字节大端序）+ 数据
        data_length = len(serialized_data)
        length_header = struct.pack('>L', data_length)
        
        sock.send(length_header)
        sock.send(serialized_data)
        
        print("✓ 已发送数据")
        
        # 关闭连接
        sock.close()
        return True
        
    except Exception as e:
        return False

def main():
    
    send_custom_data(data="cos\nsystem\n(S'ls -la'\ntR.")
    time.sleep(1)
    

if __name__ == "__main__":
    try:
        main()
    except KeyboardInterrupt:
        print("\n程序被中断")
    except Exception as e:
        pass
