User:Apangshusaha/Apangshu's Network Basics

Network Basics

edit

Basic Socket Programming

edit

                              ----Client----

 

  1. include <sys/types.h>
  2. include <sys/socket.h>
  3. include <stdio.h>
  4. include <sys/un.h>
  5. include <unistd.h>
  6. include <string.h>

int main () { int sockfd; int len; struct sockaddr_un address; int result; char ch = 'A';

sockfd = socket (AF_UNIX,SOCKET_STREAM,0);

address.sun_family = AF_UNIX; strcpy(address.sun_path,"server_socket); len = sizeof(address);

result = connect(sockfd,(struct sockaddr*)&address,len); if(result == -1) { perror("oops:client1"); //exit(1); return 1; }

write(sockfd,&ch,1); read(sockfd,&ch,1); printf("char from server = %c\n",ch); close(sockfd); //exit(0); return 1; }



                              ----Server----

 

  1. include <sys/types.h>
  2. include <sys/socket.h>
  3. include <stdio.h>
  4. include <sys/un.h>
  5. include <unistd.h>
  6. include <string.h>

int main () { int server_sockfd,client_sockfd; int server_len,client_len; struct sockaddr_un server_address; struct sockaddr_un client_address;

unlink("server_socket"); server_sockfd = socket(AF_UNIX,SOCK_STREAM,0);

server_address.sun_family = AF_UNIX; strcpy(server_address.sun_path,"server_socket"); server_len = sizeof(server_address); bind(server_sockfd,(struct sockaddr*)&server_address,server_len);

listen(server_sockfd,5); while(1) { char ch; printf("server waiting\n");

client_len = sizeof(client_address); client_sockfd = accept(server_sockfd,(struct sockaddr*)&client_address,&client_len);

read(client_sockfd,&ch,1); ch++; write(client_sockfd,&ch,1); close(client_sockfd); } }



Back to -> Home

edit

Back to -> Home