Facebook
From ádf, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 145
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <unistd.h>
  5. #include <sys/socket.h>
  6. #include <netinet/in.h>
  7. #include <arpa/inet.h>
  8. #define PORT 8080
  9. #define SERVER_IP "localhost"
  10. int main() {
  11. int client_fd;
  12. struct sockaddr_in server_address;
  13. char message[1024];
  14. // Create socket
  15. client_fd = socket(AF_INET, SOCK_STREAM, 0);
  16. if (client_fd < 0) {
  17. perror("socket");
  18. exit(1);
  19. }
  20. // Set server address
  21. memset(&server;_address, 0, sizeof(server_address));
  22. server_address.sin_family = AF_INET;
  23. server_address.sin_port = htons(PORT);
  24. inet_pton(AF_INET, SERVER_IP, &server;_address.sin_addr);
  25. // Connect to server
  26. if (connect(client_fd, (struct sockaddr *)&server;_address, sizeof(server_address)) < 0) {
  27. perror("connect");
  28. exit(1);
  29. }
  30. printf("Connected to servern");
  31. while (1) {
  32. // Get target ID and message from user
  33. printf("Enter target ID (0 - 4) and message (separated by space): ");
  34. fgets(message, sizeof(message), stdin);
  35. // Extract target ID and message content
  36. char *target_id_str = strtok(message, " ");
  37.  char *message_c "n");
  38. if (target_id_str != NULL && message_content != NULL) {
  39. int target_id = atoi(target_id_str);
  40. // Send target ID and message to server
  41. sprintf(message, "%d %s", target_id, message_content); // Combine ID and message
  42. int bytes_sent = send(client_fd, message, strlen(message), 0);
  43. if (bytes_sent < 0) {
  44. perror("send");
  45. break;
  46. }
  47. // Receive and print server response (optional)
  48. int bytes_received = recv(client_fd, message, sizeof(message), 0);
  49. if (bytes_received > 0) {
  50. message[bytes_received] = '�'; // Null terminate received data
  51. printf("Server: %sn", message);
  52. } else {
  53. if (bytes_received == 0) {
  54. printf("Server disconnectedn");
  55. } else {
  56. perror("recv");
  57. }
  58. break;
  59. }
  60. } else {
  61. printf("Invalid message formatn");
  62. }
  63. }
  64. // Close connection
  65. close(client_fd);
  66. return 0;
  67. }
  68.