「Boost.Asioによる同期接続処理」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「ネットワークプログラミング向けのC++ライブラリ Boost.Asio を利用して、同期の接続処理を書いてみました。 '''読み方''' ;B...」)
(相違点なし)

2015年7月25日 (土) 10:57時点における版

ネットワークプログラミング向けのC++ライブラリ Boost.Asio を利用して、同期の接続処理を書いてみました。

読み方

Boost.Asio
ぶーすと えいじお

概要

BSDソケットを直接扱うよりも、簡単に書くことができます。クロスプラットフォームなので、OSごとの違いを考えなくてよくなります。WinSockとBSDソケットなどを意識しなくて良いです。

ソースコード

/*
 * boost_asio_connect1.cpp
 * Copyright (C) 2015 kaoru <kaoru@localhost>
 */
 
#include <iostream>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
 
int main(int argc, char const* argv[])
{
        boost::asio::io_service io_service;
        tcp::socket tcp_socket(io_service);
        boost::system::error_code error;
 
        std::string addr = "127.0.0.1";
        int port = 8080;
 
        tcp_socket.connect(
                tcp::endpoint(
                        boost::asio::ip::address::from_string(addr), port),
                        error);
 
        if (error) {
                std::cout << "cannot connect: " << error.message() << std::endl;
        } else {
                std::cout << "connected " << std::endl;
        }
 
        return 0;
}

コンパイル

c++ -I/usr/local/include boost_asio_connect1.cpp -L /usr/local/lib -lboost_system

実行例

$ ./a.out
connected

関連項目