[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bind problem on SunOS4 (was: SU for group admin)




attached here is a small part of a silly server program i once wrote that
works with tcp sockets on sunOs4.X. i removed most irelevant parts.

guy
---------------------------------------------------
  struct sockaddr_in addr_ser, addr_cli;

  /* first, set my own address for my listening socket */
  bzero(&addr_ser, sizeof(addr_ser));
  addr_ser.sin_family = AF_INET;
  addr_ser.sin_addr.s_addr = INADDR_ANY;
  addr_ser.sin_port = htons(PORT_SER);

#ifdef _POSIX_SOURCE
  soc_ser = socket(AF_INET, SOCK_STREAM, IP_TCP);
#else
  soc_ser = socket(AF_INET, SOCK_STREAM, PF_UNSPEC);
#endif
  if (soc_ser < 0) {
    exit (1);
  }
  if (bind(soc_ser, (struct sockaddr *)&addr_ser, sizeof(addr_ser))) {
    exit (1);
  }
  if ( listen(soc_ser, 5) ) {
    exit (1);
  }

  /* at first, no sockets/fds are beinf listened to */
  FD_ZERO(&readfds);
  /* add server socket to list of sockets being listened to */
  FD_SET(soc_ser, &readfds);

  readfds_rdy = readfds;
# ifdef ULTRIX
    count_soc_rdy = select (getdtablesize(), &readfds_rdy, NULL, NULL, NULL);
# else
    count_soc_rdy = select (ulimit(4, 0L), &readfds_rdy, NULL, NULL, NULL);
# endif
  [rest deleted...]


References: