LINUX.ORG.RU

Добавить еще один параметр в сокет?
Что то типа (на примере Qt)
private slots:
void get(int from);

ymuv ★★★★
()

Вы хотите сказать таким странным способом, что обработкой входящих и исходящих соединений у вас занимается одна и та же функция и она даже не принимает при этом маркер, какой тип соединения она получила???

По-моему, вы делаете что-то не так...

delete83 ★★
()

Глобальная хеш-таблица, хранящая {дескрипторы сокетов -> откуда получен}.

anonymous
()
Ответ на: комментарий от anonymous

О, да! Хранимые состояния в глобальном контексте это так круто! Так приятно потом ловить баги, когда код начинает хоть чуть-чуть распараллеливаться...

delete83 ★★
()
Ответ на: комментарий от delete83

Доступ к глобальным данным можно вынести в функции, и когда понадобится распараллелить код достаточно будет добавить в них синхронизацию через мьютексы.

anonymous
()
Ответ на: комментарий от anonymous

А можно просто сразу в функцию передавать информацию о типе сокета и не придется проектировать велосипеды.

delete83 ★★
()
Ответ на: комментарий от delete83

Глобальные структуры создают обычно, когда уже просто нет выхода. И потом начинается камасутра с распарелливанием кода (когда производительность оказывается недостаточной), но ведь другого выхода нет. У ТС явно не тот случай.

delete83 ★★
()

запомнить сокет, который ты делал вызовом socket() (- на серверной стороне их обычно дико меньше), и сравнивать его с данным.

yoghurt ★★★★★
()

Блеать, сокеты - это же два инта! Сравните инты!

bk_ ★★
()
Ответ на: комментарий от anonymous

Это срабатывает для серверного сокета, а не для того который был получен в результате accept();

Olegymous ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.