38 |
38 |
39 struct sockaddr_in addr; |
39 struct sockaddr_in addr; |
40 addr.sin_family = AF_INET; |
40 addr.sin_family = AF_INET; |
41 addr.sin_addr.s_addr = INADDR_ANY; |
41 addr.sin_addr.s_addr = INADDR_ANY; |
42 addr.sin_port = htons(atoi(port)); |
42 addr.sin_port = htons(atoi(port)); |
43 |
43 |
44 server->fd = new_socket(); |
44 server->fd = new_socket(); |
45 if (server->fd > -1) { |
45 if (server->fd > -1) { |
46 int true = 1; |
46 int one = 1; |
47 setsockopt(server->fd, SOL_SOCKET, SO_REUSEADDR, &true, sizeof(int)); |
47 setsockopt(server->fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(int)); |
48 if (bind(server->fd, (struct sockaddr*)&addr, sizeof(addr))) { |
48 if (bind(server->fd, (struct sockaddr*)&addr, sizeof(addr))) { |
49 server->fd = -1; |
49 server->fd = -1; |
50 return 1; |
50 return 1; |
51 } else { |
51 } else { |
52 return 0; |
52 return 0; |