Facebook
From awsdf, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 141
  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 9999
  9. #define SERVER_IP "10.10.161.31"
  10. int main() {
  11. int client_fd;
  12. struct sockaddr_in server_address;
  13. char message[1024];
  14. char buffer[1024];
  15. // Create socket
  16. client_fd = socket(AF_INET, SOCK_STREAM, 0);
  17. if (client_fd < 0) {
  18. perror("socket");
  19. exit(1);
  20. }
  21. // Set server address
  22. memset(&server;_address, 0, sizeof(server_address));
  23. server_address.sin_family = AF_INET;
  24. server_address.sin_port = htons(PORT);
  25. inet_pton(AF_INET, SERVER_IP, &server;_address.sin_addr);
  26. // Connect to server
  27. if (connect(client_fd, (struct sockaddr *)&server;_address, sizeof(server_address)) < 0) {
  28. perror("connect");
  29. exit(1);
  30. }
  31. printf("Connected to server\n");
  32. while (1) {
  33. // Send message to server
  34. printf("Enter message: ");
  35. fgets(message, sizeof(message), stdin);
  36. if (strcmp(message, "exit\n") == 0) {
  37. break;
  38. }
  39. int bytes_sent = send(client_fd, message, strlen(message), 0);
  40. if (bytes_sent < 0) {
  41. perror("send");
  42. break;
  43. }
  44. // Receive and print server response (optional, uncomment if desired)
  45. int bytes_received = recv(client_fd, buffer, sizeof(buffer), 0);
  46. if (bytes_received > 0) {
  47. buffer[bytes_received] = '\0'; // Null terminate received data
  48. printf("Server: %s\n", buffer);
  49. } else {
  50. if (bytes_received == 0) {
  51. printf("Server disconnected\n");
  52. } else {perror("recv");
  53. }
  54. break;
  55. }
  56. }
  57. // Close connection
  58. close(client_fd);
  59. return 0;
  60. }