Re: Функция accept socket
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 01.04.21 06:00
Оценка:
Здравствуйте, ahaos, Вы писали:

A>Моя программа рассылает по сети сообщения. Удаленные компьютеры что-то делают и присылают результаты.

A>Нужно эти результаты принять.

A>На данный момент я хотел бы для каждого удаленного компьютера на принимающем хосте создать свой поток ожидания с функцией accept. Так и делаю.


Эээ кто на ком стоял, простите? О каком сетевом API речь?

В BSD sockets (которое скопировано в основах в винде) если UDP, там нет accept(), а если TCP или SCTP, то там... ну, конечно, можно сделать для каждого ремота свой слушающий порт, но зачем?

A>Но функция accept срабатывает на все подряд и потокам нужно как-то отфильтровать под себя поступающие пакеты данных, т.е. конкретный поток ожидания должен принять данные только от конкретного удаленного компьютера.


"Пакеты"? То есть UDP?
(вообще-то датаграммы, но "пакеты" тоже понятно)
Тогда где accept()? Или речь просто про recv()?

A>Как это лучше организовать? Или вообще лучше сменить схемы ожидания и приема данных?


Для начала в них разобраться, а то рассказ на уровне "нажимаю клаксон и машина съезжает на второстепенную".
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.