Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Making_Socket( int * list_sd, struct hosten ** server, struct sockaddr_in * addr, char * adres, int on, long port)
- {
- int rc=0;
- *list_sd = socket(AF_INET, SOCK_STREAM, 0);
- if (*list_sd < 0)
- {
- fprintf(stderr, "Error in function socket()\n");
- exit(-1);
- }
- *server = gethostbyname(adres);
- if(*server == NULL)
- {
- fprintf(stderr, "Wrong adress \n");
- exit(-1);
- }
- rc = setsockopt(*list_sd, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on));
- if (rc < 0)
- error("setsockopt()", *list_sd);
- rc = ioctl(*list_sd, FIONBIO, (char *)&on);
- if (rc < 0)
- error("ioctl()", *list_sd);
- //**************************
- memset(&addr, 0, sizeof(*addr));
- addr.sin_addr.s_addr = inet_addr(adres);
- addr.sin_family = AF_INET;
- bcopy((char*)(*server)->h_addr, (char*)addr.sin_addr.s_addr, (*server)->h_length);
- addr.sin_port = htons(port);
- rc = bind(*list_sd, (struct sockaddr *)addr, sizeof(*addr));
- if (rc < 0)
- error("bind()", *list_sd);
- rc = listen(*list_sd, 128);
- if (rc < 0)
- error("listen()", *list_sd);
- }
- Making_Socket(&list_sd, &server, &addr, adres, on, port);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement