![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.11.2009
Сообщений: 142
|
![]()
Проблема: мне нужно зациклить так, чтобы сервер работал не с одним клиентом, а со многими. Что я сделал не так?
сервер: Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Сервер и так работает со многими клиентами, просто не одновременно, т.к. у вас клиентское соединение закрывается сразу же после получения первой порции данных. Создавайте для каждого нового клиента поток, в котором будет крутиться этот код:
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 05.03.2011 в 18:54. |
![]() |
![]() |
![]() |
#3 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
del
To delete
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
Так, как у ТС сейчас написано, цикл будет тупо висеть внутри акцепт(), в ожидании новых клиентов. Можно и без потоков, но тогда перед каждым блокирующим вызовом нужен как минимум select().
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 29.11.2009
Сообщений: 142
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
В коде первого поста все не верно. Для работы со многими клиентами одновременно нужно использовать асинхронный режим сокетов. Почитай книгу М.Е.Фленова "C++ глазами хакера". Там это есть.
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> разьве так не должно быть?
От задачи зависит. Для веб-сервера, например, это будет не очень удачное решение. > теперь может с другим и так должен мочь работать до бесконечности А сейчас разве не может? Просто вы не объяснили толком, что вам нужно. "чтобы сервер работал не с одним клиентом, а со многими", я так понял, что нужно несколько клиентов одновременно обслуживать. Цитата:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 05.03.2011 в 19:33. |
|
![]() |
![]() |
![]() |
#8 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
veniside ну тебе виднее
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.11.2009
Сообщений: 142
|
![]()
Короче, как я понял, в моем варианте возможно работа со многими клиентами, если не одновременно?
Хм... мне просто сказал преподаватель, что вот так, как в моем примере, нужно зациклить.... таким образом типа правильно... удавлетворяет работе с клиентами, если они не одновременно? |
![]() |
![]() |
![]() |
#10 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
Если не одновременно, то да. Все правильно с кодом.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как создать TCP клиент, TCP сервер ? | DreamMaster911 | C/C++ Сетевое программирование | 1 | 26.10.2010 15:05 |
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент | RODNOC | Мультимедиа в Delphi | 17 | 03.10.2010 22:31 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |
простой сервер(клиент) TCP | nntpaha | Общие вопросы C/C++ | 4 | 25.12.2007 19:02 |