正しいチュートリアルを参照されていますよ。このチュートリアルでは、13/tcp 及び 13/udp ポートを使う daytime プロトコルで会話するクライアントとサーバーをそれぞれ作成しています。
サーバー プログラムを実行すると、そのマシンの 13/tcp もしくは 13/udp ポートのリッスンを開始します。ポート番号はハードコードされています。
クライアント プログラムは、コマンド引数としてサーバーの宛先を受け取ります。上記サーバーを動かした状態で、そのサーバーの IP アドレスなりホスト名なりを指定してクライアントを実行すると、サーバー側で取得した時間の情報が Ethernet 経由で送られてきてクライアント側に出力される、という動作をします。
vbんcvbnさんの実現したいことが「シーケンス制御装置とデータや命令のやりとり」ということは、おそらくシーケンス制御装置がサーバーになるのですよね。したがって作るものはクライアント プログラムになるかと思います。また、使用するプロトコルはおそらく TCP ではないかと思いますので、チュートリアルで言えば "Daytime.1 - A synchronous TCP daytime client" を理解することが重要です。
コードは単純で、1) 宛先とポート番号の情報をもとにソケットを開いて、2) ソケットからデータを受信している、だけです。例えば、サンプルの中で
コード:
tcp::resolver::query query(argv[1], "daytime");
となっている部分を
コード:
tcp::resolver::query query("192.168.0.1", "8888");
と変えると、192.168.0.1:8888 に接続しにいくはずです。その後、daytime のクライアントは socket.read_some で受信しているだけですが、write か何かでパケットを送信できるはずです。
チュートリアル以外にも、以下のページに豊富にサンプルがありました。参考になれば幸いです。
http://www.boost.org/doc/libs/1_63_0/do ... mples.html
正しいチュートリアルを参照されていますよ。このチュートリアルでは、13/tcp 及び 13/udp ポートを使う daytime プロトコルで会話するクライアントとサーバーをそれぞれ作成しています。
サーバー プログラムを実行すると、そのマシンの 13/tcp もしくは 13/udp ポートのリッスンを開始します。ポート番号はハードコードされています。
クライアント プログラムは、コマンド引数としてサーバーの宛先を受け取ります。上記サーバーを動かした状態で、そのサーバーの IP アドレスなりホスト名なりを指定してクライアントを実行すると、サーバー側で取得した時間の情報が Ethernet 経由で送られてきてクライアント側に出力される、という動作をします。
vbんcvbnさんの実現したいことが「シーケンス制御装置とデータや命令のやりとり」ということは、おそらくシーケンス制御装置がサーバーになるのですよね。したがって作るものはクライアント プログラムになるかと思います。また、使用するプロトコルはおそらく TCP ではないかと思いますので、チュートリアルで言えば "Daytime.1 - A synchronous TCP daytime client" を理解することが重要です。
コードは単純で、1) 宛先とポート番号の情報をもとにソケットを開いて、2) ソケットからデータを受信している、だけです。例えば、サンプルの中で
[code]tcp::resolver::query query(argv[1], "daytime");[/code]
となっている部分を
[code]tcp::resolver::query query("192.168.0.1", "8888");[/code]
と変えると、192.168.0.1:8888 に接続しにいくはずです。その後、daytime のクライアントは socket.read_some で受信しているだけですが、write か何かでパケットを送信できるはずです。
チュートリアル以外にも、以下のページに豊富にサンプルがありました。参考になれば幸いです。
http://www.boost.org/doc/libs/1_63_0/doc/html/boost_asio/examples.html