De volgende code probeert te binden met een bepaalde poort (dit gebruiken we voor onze server).
Nu is het uiteraard de bedoeling dat de server enkel aan een socket bind als daar nog niet aan gebind is,
Vreemd genoeg gaat hij ook binden als er al een proces gebind heeft aan die port.
Iemand enig idee wat er mis is met deze code.
Nu is het uiteraard de bedoeling dat de server enkel aan een socket bind als daar nog niet aan gebind is,
Vreemd genoeg gaat hij ook binden als er al een proces gebind heeft aan die port.
Iemand enig idee wat er mis is met deze code.
C++:
1
2
3
4
5
6
7
8
9
10
11
| bool Socket::Bind(int & port) { if (!Is_valid()) return false; m_addr.sin_family = AF_INET; m_addr.sin_addr.s_addr = INADDR_ANY; m_addr.sin_port = htons(port); int bind_return = bind(m_sock, (struct sockaddr *) &m_addr, sizeof(m_addr)); if (bind_return == -1) return false; return true; } |