Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
- struct packet {
- char oper[5];
- int int1;
- int int2;
- };
- struct resultpacket {
- int success;
- int result;
- };
- // Driver code
- int main() {
- int sockfd;
- char buffer[10];
- char *hello = "Hello from client";
- struct sockaddr_in servaddr;
- // Creating socket file descriptor
- if ( (sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0 ) {
- perror("socket creation failed");
- exit(EXIT_FAILURE);
- }
- printf("Socket successfully created..\n");
- memset(&servaddr, 0, sizeof(servaddr));
- // Filling server information
- servaddr.sin_family = AF_INET;
- servaddr.sin_port = htons(8080);
- servaddr.sin_addr.s_addr = INADDR_ANY;
- //variable declaration for packet to be sent
- int n, len;
- char str[5];
- char str2[5];
- int num1, num2;
- printf("Enter the string : ");
- scanf("%d %s %d", &num1, &str, &num2);
- //check operator inputted
- if (strcmp(str,"+") == 0) {
- strcpy(str2, "add");
- } else if (strcmp(str,"-") == 0) {
- strcpy(str2, "sub");
- } else if (strcmp(str,"*") == 0) {
- strcpy(str2, "mul");
- } else if (strcmp(str,"/") == 0) {
- strcpy(str2, "div");
- }
- //create packet
- struct packet pkt;
- strcpy(pkt.oper, str2);
- pkt.int1 = num1;
- pkt.int2 = num2;
- //send packet to server
- sendto(sockfd, &pkt, sizeof(pkt), MSG_CONFIRM, (const struct sockaddr *) &servaddr, sizeof(servaddr));
- printf("Sent to server: %s %d %d\n", pkt.oper, pkt.int1, pkt.int2);
- //receive response packet from server
- struct resultpacket respkt;
- n = recvfrom(sockfd, &respkt, sizeof(respkt), MSG_WAITALL, (struct sockaddr *) &servaddr, &len);
- //buffer[n] = '\0';
- printf("Received from server - success: %d / result: %d\n",respkt.success, respkt.result);
- //close socket
- close(sockfd);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement