Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Nama : Raviqa Sandra Putri
- // Nim : 1856401009
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netdb.h>
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #define MAXBUF 1024
- int main(int argc, char *argv[]){
- int udpSocket;
- int returnStatus = 0, returnStatus1 = 0;
- int addrlen = 0;
- struct sockaddr_in udpServer, udpClient;
- char buf[MAXBUF];
- char buf1[MAXBUF];
- if(argc < 2){
- fprintf(stderr, "Usage : %s <port>\n", argv[0]);
- exit(1);
- }
- udpSocket = socket(AF_INET, SOCK_DGRAM,0);
- if(udpSocket == -1) {
- fprintf(stderr, "Could not create a socket !\n");
- exit(1);
- }else{
- printf("Socket Create\n");
- }
- udpServer.sin_family = AF_INET;
- udpServer.sin_addr.s_addr = htonl(INADDR_ANY);
- udpServer.sin_port = htons(atoi(argv[1]));
- returnStatus = bind(udpSocket, (struct sockaddr*)&udpServer, sizeof(udpServer));
- if(returnStatus == 0){
- fprintf(stderr, "Bind Complate\n");
- } else {
- fprintf(stderr, "Could not bind to address!\n");
- close(udpSocket);
- exit(1);
- }
- while(1){
- addrlen = sizeof(udpClient);
- returnStatus = recvfrom(udpSocket, buf, MAXBUF,0,(struct sockaddr*)&udpClient, &addrlen);
- returnStatus1 = recvfrom(udpSocket, buf1, MAXBUF,0,(struct sockaddr*)&udpClient, &addrlen);
- if(returnStatus == -1 && returnStatus1 == -1){
- fprintf(stderr, "Could not receive message!\n");
- }
- else {
- printf("Received Username : %s\n",buf);
- printf("Received Password : %s\n",buf1);
- //printf("login Berhasil!\n");
- if(strcmp(buf, "auliya") == 0 && strcmp(buf1, "rahmi") == 0){
- strcpy(buf, "Login Berhasil\n");
- returnStatus = sendto(udpSocket, buf, strlen(buf)+1, 0, (struct sockaddr*)&udpClient, sizeof(udpClient));
- if(returnStatus == -1){
- fprintf(stderr, "Could not sent confirmation!\n");
- }
- else {
- printf("confirmation success sent.\n");
- }
- }
- else {
- strcpy(buf, "Gagal connect to server");
- returnStatus = sendto(udpSocket, buf, strlen(buf)+1, 0, (struct sockaddr*)&udpClient, sizeof(udpClient));
- if(returnStatus == -1 ){
- fprintf(stderr, "Could not send confirmation!\n");
- }
- else{
- printf("confirmation Failure sent.\n");
- }
- }
- }
- }
- close(udpSocket);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement