Socket problem/query

From: <grscott_at_grscott.is.ge.com>
Date: Mon, 3 Jun 96 11:42:18 CST

Socket gurus:

I've got a program which executes correctly on Sun & HP platforms but fails
on my Alpha (3.2d) with "Address family not supported by protocol family"
error. Since there is an appropriate entry in /etc/services, I don't know
what the complaint is. I'm enclosing a short snippet which I hope is
sufficient to enable those more knowledgeable than I to diagnose the problem!

Thanks-
Richard (grscott_at_is.ge.com)
----------------------------------------------------------------------------
  if ((p_data = getprotobyname("tcp")) == (struct protoent *)NULL)
     barf("Got serious problems here!");
  else printf("Found TCP with name \"%s\" and value %d\n",
               p_data->p_name, p_data->p_proto);

  if ((sockfd = socket(AF_INET, SOCK_STREAM, p_data->p_proto)) < 0)
     barf("Socket Create Failed!");

  if (ugw = getservbyname("ugw_strm_int", "tcp"))
   printf("Service is \"%s\" on port %d using protocol \"%s\"\n",
           ugw->s_name, ntohs(ugw->s_port), ugw->s_proto);
  else barf("UGW not available");

  if (gw_host = gethostbyname(theirname))
  {
    memcpy( (char *)&(serveraddr.sin_addr.s_addr), gw_host->h_addr,
            gw_host->h_length);
    serveraddr.sin_port = ugw->s_port;

    if (connect(sockfd, &serveraddr, sizeof(serveraddr)) < 0)
       barf("Socket Connect Failed!");
       // and here is indeed where it fails with the error
    ... do_dah, do_dah...
Received on Mon Jun 03 1996 - 19:14:54 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:46 NZDT