Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Daytime.2 - A synchronous TCP daytime server

Boost , Boost.Asio , Tutorial

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Эта учебная программа показывает, как использовать Asio для реализации серверного приложения с TCP.

#include <ctime>
#include <iostream>
#include <string>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;

Определяем функциюmake_daytime_string()Чтобы создать строку, которая будет отправлена обратно клиенту. Эта функция будет повторно использоваться во всех наших дневных серверных приложениях.

std::string make_daytime_string()
{
  using namespace std; // For time_t, time and ctime;
  time_t now = time(0);
  return ctime(&now);
}
int main()
{
  try
  {
    boost::asio::io_service io_service;

Aip::tcp::acceptorОбъект должен быть создан для прослушивания новых связей. Он инициализируется для прослушивания на TCP-порте 13 для IP-версии 4.

    tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 13));

Это итерационный сервер, что означает, что он будет обрабатывать одно соединение за раз. Создайте розетку, которая будет представлять соединение с клиентом, а затем дождитесь соединения.

    for (;;)
    {
      tcp::socket socket(io_service);
      acceptor.accept(socket);

Клиент получает доступ к нашему сервису. Определите текущее время и передайте эту информацию клиенту.

      std::string message = make_daytime_string();
      boost::system::error_code ignored_error;
      boost::asio::write(socket, boost::asio::buffer(message), ignored_error);
    }
  }

Наконец, обращайтесь с любыми исключениями.

  catch (std::exception& e)
  {
    std::cerr << e.what() << std::endl;
  }
  return 0;
}

См.полный список источников

Вернуться вучебный индекс

Предыдущее:Daytime.1 — синхронный дневной клиент TCP

Следующий:Daytime.3 — асинхронный TCP дневной сервер


PrevUpHomeNext

Статья Daytime.2 - A synchronous TCP daytime server раздела Boost.Asio Tutorial может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Tutorial ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:25:41/0.00341796875/0