client
unknown
c_cpp
22 days ago
2.0 kB
2
Indexable
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #define PIPE_NAME "/tmp/encrypted_chat_pipe" #define MAX_MESSAGE_LENGTH 256 void reverse_encrypt(char *str) { int len = strlen(str); for (int i = 0; i < len / 2; i++) { char temp = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = temp; } } int main() { char message[MAX_MESSAGE_LENGTH]; int pipe_fd; // Отваряме наименуваната тръба за запис pipe_fd = open(PIPE_NAME, O_WRONLY); if (pipe_fd == -1) { perror("open failed"); exit(1); } while (1) { // Четене на съобщение от потребителя printf("Enter message to send: "); fgets(message, sizeof(message), stdin); // Премахваме новия ред от края на съобщението message[strcspn(message, "\n")] = 0; // Изпращаме съобщението в тръбата write(pipe_fd, message, strlen(message) + 1); // Отваряме тръбата за четене int pipe_fd_read = open(PIPE_NAME, O_RDONLY); if (pipe_fd_read == -1) { perror("open failed for reading"); exit(1); } // Четем от тръбата (криптираното съобщение) int bytes_read = read(pipe_fd_read, message, sizeof(message) - 1); if (bytes_read > 0) { message[bytes_read] = '\0'; printf("Received encrypted message: %s\n", message); // Декодиране на съобщението (обратно на Reverse Encryption) reverse_encrypt(message); printf("Decoded message: %s\n", message); } close(pipe_fd_read); } close(pipe_fd); return 0; }
Editor is loading...
Leave a Comment