Можно ли иметь несколько сокетов, которые могут быть по TCP или UDP в одной программе?
Например:
SocketOne: сокет TCP на порту 4567; socketTwo: сокет TCP на порту 8765; socketThree: сокет UDP на 7643.
Семейства будут AF_INET, а адреса будут INADDR_ANY для каждого.
Я связываю и слушаю TCP, и просто связываю для UDP.
Что заставляет меня сомневаться в том, что я собираюсь это сделать, так это то, как мне ждать клиента в каждом сокете вместе.
Я знаю, что приведенный ниже код не будет работать, но я не знаю, что еще или как объяснить, что я пытаюсь сказать.
while (1)
{
connected = accept(socketOne, (struct sockaddr *)&client_addr,&sin_size);
connected = accept(socketTwo, (struct sockaddr *)&client_addr,&sin_size);
bytes_read = recvfrom(socketThree,recv_data,1024,0,(struct sockaddr *)&client_addr, &addr_len);
}