Client
#include <sys/socket.h> #include <netdb.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #define MAX 80 #define PORT 8088 #define SA struct sockaddr int main() { int sockfd; struct sockaddr_in servaddr; char buff[MAX]; socklen_t len; sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd == -1) { printf("Socket creation failed...\n"); exit(0); } printf("Socket successfully created..\n"); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // Localhost servaddr.sin_port = htons(PORT); len = sizeof(servaddr); while (1) { bzero(buff, MAX); // Send message to server printf("From Client: "); fgets(buff, MAX, stdin); sendto(sockfd, buff, strlen(buff), 0, (SA *)&servaddr, len); if (strncmp("exit", buff, 4) == 0) { printf("Client Exit...\n"); break; } // Receive message from server bzero(buff, MAX); recvfrom(sockfd, buff, MAX, 0, (SA *)&servaddr, &len); printf("From Server: %s", buff); if (strncmp("exit", buff, 4) == 0) { printf("Server requested exit. Client shutting down...\n"); break; } } close(sockfd); return 0; }
Leave a Comment