- lfd = socket(PF_INET, SOCK_STREAM, 0);
- saddr.sin_family = AF_INET;
- saddr.sin_addr.s_addr = htonl(INADDR_ANY);
- saddr.sin_port = htons(port);
-
- if (lfd < 0)
- syserr("socket");
- on = 1;
-
- setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(int));
- if (bind(lfd, (struct sockaddr *)&saddr, sizeof(saddr)) < 0)
- syserr("bind");
-
- listen(lfd, 5);
-
- if (is_daemon)
- {
- /* become a daemon, breaking all ties with the controlling terminal */
- options.verbose = 0;
- for (i=0; i<255; i++)
- {
- if (i != lfd)
- close(i);
- }
+ lfd = SDLNet_TCP_Open(&ip);
+ if (!lfd)
+ Error(ERR_EXIT_NETWORK_SERVER, "SDLNet_TCP_Open() failed");