ScrapExplorer - server.cpp

Home / usr / Pulse / src Lines: 2 | Size: 1583 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)]
[FILE BEGIN]
1#include <iostream> 2#include <fstream> 3#include <string> 4#include <sstream> 5#include <map> 6#include <netinet/in.h> 7#include <unistd.h> 8#include <arpa/inet.h> 9 10 11void log_to_csv(const std::string &machine, const std::string &line) { 12 std::string filename = machine + ".csv"; 13 std::ofstream file(filename, std::ios::app); 14 if (!file.is_open()) { 15 std::cerr << "[PulseMSG] ERROR: Cant write to " << filename << std::endl; 16 return; 17 } 18 file << line << "\n"; 19} 20 21int main() { 22 int server_fd, new_socket; 23 struct sockaddr_in address; 24 int opt = 1; 25 int addrlen = sizeof(address); 26 27 28 server_fd = socket(AF_INET, SOCK_STREAM, 0); 29 setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt)); 30 31 32 address.sin_family = AF_INET; 33 address.sin_addr.s_addr = INADDR_ANY; 34 address.sin_port = htons(5050); 35 36 int x; 37 x = bind(server_fd, (struct sockaddr *)&address, sizeof(address)); 38 listen(server_fd, 3); 39 while (true) { 40 new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen); 41 char buffer[2048] = {0}; 42 int valread = read(new_socket, buffer, 2048); 43 44 45 std::string data(buffer); 46 std::stringstream ss(data); 47 std::string machine, level, module, msg; 48 49 50 std::getline(ss, machine, ','); 51 std::getline(ss, level, ','); 52 std::getline(ss, module, ','); 53 std::getline(ss, msg); 54 55 56 std::string csv_line = level + "," + module + "," + msg; 57 log_to_csv(machine, csv_line); 58 close(new_socket); 59 } 60} 61
[FILE END]
(C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.