Mam klienta i serwer asynchroniczny (ten z głównej strony boost::asio), klient nawiązuje połączenie a serwer wysyła mu wiadomość z datą.
Ja chciałem tak zmodyfikować serwer aby po odebraniu wiadomości wysłał swoją datę (odebrania wiadomości) do serwera.
Jakiej funkcji powinienem użyć?
Specem od asio
nie jestem, ale wydaje mi sie, ze to bedzie odpowiednio
- async_send_to - http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/basic_datagram_socket/async_send_to/overload1.html - dla UDP
- async_write - http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/async_write/overload1.html dla TCP
Tu masz przyklad uzycia dla serwera echa TCP:
http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp
Znasz jakiś przykładowy kod serwera który wysyła i odbiera dane od klienta TCP ?
Ten co Ci podalem dziala na zasadzie:
- Odbiera wiersz tekstu od klienta.
- Wysyla echo tego wiersza (kopie, jak zwal tak zwal), do klienta.
Wiec robi to o co pytasz ;>
Ale gdy klient próbuje znowu coś wysłać do serwera "to oprogramowanie zainstalowanie na komputerze hoście aktywnie go odmawia"
Chce stworzyć serwer który może prowadzić ciągłą konwersację z klientem.
EDIT. Nie ma nigdzie polskiego kursu wprowadzenia czy czegoś takiego ??
Jeśli chodzi o przykład z trzeciej lini w drugim poście to kompilator wywala mi:
D:\codeblock_projekty\boost_asio_tcp_serwer\main.cpp|12|error: expected template-name before '<' token|
D:\codeblock_projekty\boost_asio_tcp_serwer\main.cpp|12|error: expected '{' before '<' token|
D:\codeblock_projekty\boost_asio_tcp_serwer\main.cpp|12|error: expected unqualified-id before '<' token|
D:\BOOST1.54\include\boost-1_54\boost\system\error_code.hpp|222|warning: 'boost::system::posix_category' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\system\error_code.hpp|223|warning: 'boost::system::errno_ecat' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\system\error_code.hpp|224|warning: 'boost::system::native_ecat' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\asio\error.hpp|244|warning: 'boost::asio::error::system_category' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\asio\error.hpp|246|warning: 'boost::asio::error::netdb_category' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\asio\error.hpp|248|warning: 'boost::asio::error::addrinfo_category' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\asio\error.hpp|250|warning: 'boost::asio::error::misc_category' defined but not used [-Wunused-variable]|
D:\BOOST1.54\include\boost-1_54\boost\asio\detail\winsock_init.hpp|116|warning: 'boost::asio::detail::winsock_init_instance' defined but not used [-Wunused-variable]|
||=== Build finished: 3 errors, 8 warnings ===|