Server
unknown
plain_text
14 days ago
1.6 kB
2
Indexable
#include <stdio.h> #include <netinet/in.h> #include <sys/types.h> #include <sys/socket.h> #include <netdb.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #define MAX 80 #define PORT 8088 #define SA struct sockaddr int main() { int sockfd; struct sockaddr_in servaddr, cli; 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 = htonl(INADDR_ANY); servaddr.sin_port = htons(PORT); if (bind(sockfd, (SA *)&servaddr, sizeof(servaddr)) != 0) { printf("Socket bind failed...\n"); exit(0); } printf("Socket successfully binded..\n"); len = sizeof(cli); while (1) { bzero(buff, MAX); // Receive message from client recvfrom(sockfd, buff, MAX, 0, (SA *)&cli, &len); printf("From Client: %s", buff); if (strncmp("exit", buff, 4) == 0) { printf("Client requested exit. Server shutting down...\n"); break; } // Send message to client bzero(buff, MAX); printf("From Server: "); fgets(buff, MAX, stdin); sendto(sockfd, buff, strlen(buff), 0, (SA *)&cli, len); if (strncmp("exit", buff, 4) == 0) { printf("Server Exit...\n"); break; } } close(sockfd); return 0; }
Editor is loading...
Leave a Comment