Breaking News

Create Clinet/Server Connection using C programming


#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>


int main(){
int sock_desc, new_sock;
struct sockaddr_in server, client;
int addrlen = sizeof(server);
char buffer[1024] = {0};

sock_desc = socket(AF_INET, SOCK_STREAM, 0);
if(sock_desc == 0){
perror("Socked Failed");
exit(EXIT_FAILURE);
}
printf("Socket Created!\n");

server.sin_family = AF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons(8181);

int conn = bind(sock_desc,
(struct sockaddr *) &server,
sizeof(server));

if(conn < 0){
perror("Bind Failed!\n");
exit(EXIT_FAILURE);
}

printf("%s", "Bind Done!\n");

listen(sock_desc, 3);
printf("%s", "Server Listening...\n");


new_sock = accept(sock_desc,
(struct sockaddr *)&client,
(socklen_t*)&addrlen);
if(new_sock < 0){
perror("Accept Failed!\n");
exit(EXIT_FAILURE);
}
printf("%s", "Connection accepted!\n");

char* message = "Hello from Server";
printf("%s", "Sending message to Client..\n");
write(new_sock, message, strlen(message));

printf("%s", "Client Message:\n");
read( new_sock , buffer, sizeof(buffer));
    printf("%s\n",buffer );

printf("%s", "Message Send, Closing Connection!\n");

return 0;
}

#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
 
int main(int argc, char const *argv[])
{
    int sock_desc;
    struct sockaddr_in serv_addr;
    char buffer[1024] = {0};

    sock_desc = socket(AF_INET, SOCK_STREAM, 0);
    if (sock_desc < 0) {
        perror("Socked Failed\n");
exit(EXIT_FAILURE);
    }

    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(8181);

    // Convert IPv4 and IPv6 addresses from text to binary form
    if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr) <=0 )  {
        printf("Invalid IP Address\n");
        exit(EXIT_FAILURE);
    }

    int connetion = connect(sock_desc, (struct sockaddr *)&serv_addr, sizeof(serv_addr));
    if (connetion < 0) {
        printf("Connection Failed\n");
        exit(EXIT_FAILURE);
    }
 
    printf("%s", "Reading server message!\n");
    read( sock_desc , buffer, sizeof(buffer));

printf("%s", "Server message!\n");
    printf("%s\n",buffer );

    char* message = "Hello from client";
printf("%s", "Sending message to Server..\n");
    write(sock_desc, message, strlen(message));
printf("%s", "Message send!\n");
 
    return 0;

No comments