Я пытаюсь создать сокет для взаимодействия с клиентом и сервером.C: как создать сокет?
Я не очень хорошо разбираюсь в том, как работают функции socket() и bind(). Как создать сокет datagram?
Когда я пытаюсь скомпилировать его, он говорит, что адрес сокета никогда не будет NULL, а sockfd не будет использоваться.
int create_dg_socket(in_port_t port) {
int socket(int domain, int type, int protocol);
int bind(int sockfd,
const struct sockaddr *addr,
socklen_t len);
// Create the socket
int sockfd;
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if(socket==NULL) {
fprintf(stderr, "create_dg_socket not implemented!\n");
exit(-1);
}
}
Ваш код производит ошибку? Или ? –
@devlincarnate yes – Iona
Это опечатка: 'if (socket == NULL)' должно быть 'if (sockfd == NULL)'. И не объявляйте свои собственные прототипы для стандартных функций, таких как 'socket' и' bind'. Вместо этого включите правильный заголовок. ' в этом случае. –
kaylum