52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
||||||||||||||||
1 | ||||||||||||||||
Boost.asio ошибка в socket.connect09.08.2013, 11:19. Показов 7314. Ответов 10
Метки нет (Все метки)
Подскажите почему коннект выдает ошибку?
немножко переделал
Это ошибка подключения, т.е. сервер отверг подключение. Где ошибка в коде? Добавлено через 5 минут добавил к запуску сервера строчку
0
|
09.08.2013, 11:19 | |
Ответы с готовыми решениями:
10
boost::asio::ip::tcp::socket::async_connect не вызывает handler Boost::asio::ip::udp::socket bind а мне нужен не локальный хост Ошибка в boost::asio::ip::tcp::iostream stream (&request); Boost.asio |
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
||||||
09.08.2013, 14:36 | 2 | |||||
Когда Вы коннектитесь к серверному сокету, ни этого сокета, ни аксептора уже нет. Вот так работает:
1
|
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
||||||
09.08.2013, 16:01 [ТС] | 3 | |||||
Fyret,
я изменил
system: 87 system: 10049 Добавлено через 3 минуты а почему не нужно писать ? Добавлено через 5 минут И еще вопрос: если я посылаю данные другому клиенту, я работаю с ним как с сервером? Если я обмениваюсь данными с другим клиентом сервер должен быть и у меня и у него для приема данных, и клиент для отправки. так?
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|||||||||||
09.08.2013, 16:57 | 4 | ||||||||||
Так в это случае аксептор не открыт. Либо
Не нужно, если не нужно соединение на стороне сервера. А оно было не нужно, чтобы просто показать, что коннект есть. Клиент - тот, кто начинает соединение. Сервер - тот, кто ждет, что с ним помуг соединиться. Оба они шлют данные. Если оба "клиента" должны быть совершенно равноправными, если каждый из них может инициализировать соединение с другим, то да - у каждого должно быть по серверу и по клиенту.
1
|
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
|
09.08.2013, 18:11 [ТС] | 5 |
Fyret, т.е. если данные передавать буду, то тут уже необходимо добавить эту строчку?
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
09.08.2013, 18:20 | 6 |
да, иначе неоткуда/некуда будет данные читать/отправлять на стороне сервера. А так - через этот socket.
И не забывайте, что accept - синхронный метод, бессмысленно использовать его, когда клиент и сервер работают в одном потоке (что само по себе странно).
0
|
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
|
09.08.2013, 18:22 [ТС] | 7 |
Fyret, у вас не будет примера асинхронного обмена?
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
|
09.08.2013, 19:08 | 8 |
0
|
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
|
09.08.2013, 19:09 [ТС] | 9 |
Fyret, спасибо
0
|
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
|
||||||
09.08.2013, 23:17 | 10 | |||||
Этот пример ни разу не образец для подражания. Но, думаю, его достаточно для общего представления о том, как асинхронно слать и принимать данные.
1
|
52 / 45 / 18
Регистрация: 06.01.2013
Сообщений: 626
|
|
10.08.2013, 09:45 [ТС] | 11 |
Fyret, спасибо.
0
|
10.08.2013, 09:45 | |
10.08.2013, 09:45 | |
Помогаю со студенческими работами здесь
11
boost/asio boost::asio Boost Asio C++ Boost asio + qt (slots) boost::asio cессии Boost.Asio не соединяется Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |