c - internet socket on the same host -


i'm trying make internet socket client , server run on same host, i'm getting connection error timed out connection client side, i'm doing on ubuntu virtual machine here's code:

server

#include <stdlib.h>        /* getenv */ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h>    /* internet domain header */ #include <strings.h> #define server_port  59154 struct sockaddr_in self = {af_inet}; int main() { int soc, ns, k;   char buf[256];   struct sockaddr_in peer = {af_inet};    int peer_len = sizeof(peer);   char *host;   /* set listening socket soc */        soc = socket(af_inet, sock_stream, 0);      if (soc < 0)      {  perror("server:socket"); exit(1);      }      bzero(&self, sizeof(self));      self.sin_family = af_inet;      self.sin_addr.s_addr = htonl(inaddr_any);      self.sin_port = htons(server_port);      if (bind(soc, (struct sockaddr *)&self,              sizeof(self)) == -1)      {  perror("server:bind"); close(soc); exit(1); }      listen(soc, 1);   /* accept connection request */      ns = accept(soc, (struct sockaddr *)&peer, &peer_len);      if (ns < 0)      {  perror("server:accept"); close(soc); exit(1); }   /* data transfer on connected socket ns */        k = read(ns, buf, sizeof(buf));      host = getenv("host");      printf("server on %s received: %s\n”,                       host, buf);      write(ns, buf, k);      close(ns);   close(soc);      return(0); } 

and client:

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h>    /* internet domain header */ #include <netdb.h> #include <strings.h> #define server_port  59154 struct sockaddr_in peer = {af_inet};   int main(int argc, char* argv[]) { int soc;   char buf[256];   struct hostent *hp;     if ( argc != 2 )     {  fprintf(stderr, "usage: %s hostname\n", argv[0]);        exit(1);     } /* fill in peer address */     hp = gethostbyname(argv[1]);     if ( hp == null )     {  fprintf(stderr, "%s: %s unknow host\n",                argv[0], argv[1]);        exit(1);     }      bzero(&peer, sizeof(peer));     peer.sin_family = af_inet;     peer.sin_addr.s_addr = htonl(inaddr_any);     peer.sin_port = htons(server_port);     bcopy(hp->h_addr_list[0],           (char*)&peer.sin_addr, hp->h_length); /* create socket */     soc = socket(af_inet, sock_stream, 0); /* request connection server */     if (connect(soc, (struct sockaddr *)&peer,              sizeof(peer)) == -1)     {  perror("client:connect"); close(soc); exit(1); }     write(soc, "hello internet", 15);     read(soc, buf, sizeof(buf));     printf("server echoed: %s\n", buf);     close(soc); return(0); } 


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -