![]() |
|
Модераторы: xvr |
![]()
|
|
| A... |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 5.10.2004 Где: Ереван Репутация: нет Всего: 1 |
Привет всем!!!
Итак пишу следуйший код...
Компилю...
выдается ошибка
Вопрос почему...??? Везде написанно что третии параметр accept() может быть
Зарание спасибо. --------------------
Особое спасибо Русскому языку за предоставленные буквы... |
||||||||
|
|||||||||
| A... |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 5.10.2004 Где: Ереван Репутация: нет Всего: 1 |
Проблемы больше нету, сделал так
Спасибо за внимание --------------------
Особое спасибо Русскому языку за предоставленные буквы... |
|||
|
||||
| lp_sun |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
народ такой вопрос:
есть сервер и клиент, нужно переслать несколько блоков инфы как это прально сделать? серверу: нужно ли на каждый блок устанавливать соединение с помощью connect или токо один раз а потом посылать их функцией send(..) в цикле клиенту: я так понял на каждый блок нужно вызывать accept(sock,....) где sock - прослушивабщий сокет правильно я понимаю суть обмена??? |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
нет Добавлено @ 13:38 accept - вызывается сервером для создания соединения (подключение клиента), дальше - в зависимости от того, что тебе нужно, либо сервер начинает писать в сокет а клиент читать это, либо наоборот. В общем это определяется протоколом, рвать соединения после каждой передачи не надо... Если позволяют религиозные убеждения, то лучше использовать библиотеку asio, она теперь входит в boost Это сообщение отредактировал(а) Lazin - 28.5.2008, 13:40 |
|||
|
||||
| lp_sun |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
если я правильно тебя понял то один раз создается слушающий сокет, потом он вызывает функцию accept, которая блокирует выполнение проги пока не поступит входящее соединение, вызванное из другого процесса функцией connect
т.е. получается шото типо такого: сервер(отправляет):
клиент(принимает):
такая структура получается??? протокол TCP |
||||
|
|||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 1 Всего: 154 |
клиент и сервер местами поменяй
сервер 1. создает сокет и начинает слушать порт 2. в случае если в порт кто то постучался - создается еще один сокет - для обмена данными с клиентом (дальше сервер может перестать принимать соединения, до тех пор пока клиент не отконнектится, а может продолжить слушать, если поддерживается параллельная работа с несколькими клиентами) 3. читает данные 4 закрывает сокет клиент 1. коннектится к серверу 2. если получилось (сервер "принял" подключение, создал сокет и ждет данные от клиента) отправляем данные 3. разрываем соединение как то так |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |