Imported Upstream version 1.57.0
[platform/upstream/boost.git] / doc / html / boost_asio / examples / cpp03_examples.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>C++03 Examples</title>
5 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="../../boost_asio.html" title="Boost.Asio">
8 <link rel="up" href="../examples.html" title="Examples">
9 <link rel="prev" href="../examples.html" title="Examples">
10 <link rel="next" href="cpp11_examples.html" title="C++11 Examples">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
15 <td align="center"><a href="../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="../examples.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h3 class="title">
27 <a name="boost_asio.examples.cpp03_examples"></a><a class="link" href="cpp03_examples.html" title="C++03 Examples">C++03 Examples</a>
28 </h3></div></div></div>
29 <h5>
30 <a name="boost_asio.examples.cpp03_examples.h0"></a>
31         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.allocation"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.allocation">Allocation</a>
32       </h5>
33 <p>
34         This example shows how to customise the allocation of memory associated with
35         asynchronous operations.
36       </p>
37 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
38             <a href="../example/cpp03/allocation/server.cpp" target="_top">boost_asio/example/cpp03/allocation/server.cpp</a>
39           </li></ul></div>
40 <h5>
41 <a name="boost_asio.examples.cpp03_examples.h1"></a>
42         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.buffers"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.buffers">Buffers</a>
43       </h5>
44 <p>
45         This example demonstrates how to create reference counted buffers that can
46         be used with socket read and write operations.
47       </p>
48 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
49             <a href="../example/cpp03/buffers/reference_counted.cpp" target="_top">boost_asio/example/cpp03/buffers/reference_counted.cpp</a>
50           </li></ul></div>
51 <h5>
52 <a name="boost_asio.examples.cpp03_examples.h2"></a>
53         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.chat"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.chat">Chat</a>
54       </h5>
55 <p>
56         This example implements a chat server and client. The programs use a custom
57         protocol with a fixed length message header and variable length message body.
58       </p>
59 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
60 <li class="listitem">
61             <a href="../example/cpp03/chat/chat_message.hpp" target="_top">boost_asio/example/cpp03/chat/chat_message.hpp</a>
62           </li>
63 <li class="listitem">
64             <a href="../example/cpp03/chat/chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/chat_client.cpp</a>
65           </li>
66 <li class="listitem">
67             <a href="../example/cpp03/chat/chat_server.cpp" target="_top">boost_asio/example/cpp03/chat/chat_server.cpp</a>
68           </li>
69 </ul></div>
70 <p>
71         The following POSIX-specific chat client demonstrates how to use the <a class="link" href="../reference/posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a>
72         class to perform console input and output.
73       </p>
74 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
75             <a href="../example/cpp03/chat/posix_chat_client.cpp" target="_top">boost_asio/example/cpp03/chat/posix_chat_client.cpp</a>
76           </li></ul></div>
77 <h5>
78 <a name="boost_asio.examples.cpp03_examples.h3"></a>
79         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.echo"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.echo">Echo</a>
80       </h5>
81 <p>
82         A collection of simple clients and servers, showing the use of both synchronous
83         and asynchronous operations.
84       </p>
85 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
86 <li class="listitem">
87             <a href="../example/cpp03/echo/async_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_tcp_echo_server.cpp</a>
88           </li>
89 <li class="listitem">
90             <a href="../example/cpp03/echo/async_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/async_udp_echo_server.cpp</a>
91           </li>
92 <li class="listitem">
93             <a href="../example/cpp03/echo/blocking_tcp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_client.cpp</a>
94           </li>
95 <li class="listitem">
96             <a href="../example/cpp03/echo/blocking_tcp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_tcp_echo_server.cpp</a>
97           </li>
98 <li class="listitem">
99             <a href="../example/cpp03/echo/blocking_udp_echo_client.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_client.cpp</a>
100           </li>
101 <li class="listitem">
102             <a href="../example/cpp03/echo/blocking_udp_echo_server.cpp" target="_top">boost_asio/example/cpp03/echo/blocking_udp_echo_server.cpp</a>
103           </li>
104 </ul></div>
105 <h5>
106 <a name="boost_asio.examples.cpp03_examples.h4"></a>
107         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.fork"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.fork">Fork</a>
108       </h5>
109 <p>
110         These POSIX-specific examples show how to use Boost.Asio in conjunction with
111         the <code class="computeroutput"><span class="identifier">fork</span><span class="special">()</span></code>
112         system call. The first example illustrates the steps required to start a
113         daemon process:
114       </p>
115 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
116             <a href="../example/cpp03/fork/daemon.cpp" target="_top">boost_asio/example/cpp03/fork/daemon.cpp</a>
117           </li></ul></div>
118 <p>
119         The second example demonstrates how it is possible to fork a process from
120         within a completion handler.
121       </p>
122 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
123             <a href="../example/cpp03/fork/process_per_connection.cpp" target="_top">boost_asio/example/cpp03/fork/process_per_connection.cpp</a>
124           </li></ul></div>
125 <h5>
126 <a name="boost_asio.examples.cpp03_examples.h5"></a>
127         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_client"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_client">HTTP
128         Client</a>
129       </h5>
130 <p>
131         Example programs implementing simple HTTP 1.0 clients. These examples show
132         how to use the <a class="link" href="../reference/read_until.html" title="read_until">read_until</a>
133         and <a class="link" href="../reference/async_read_until.html" title="async_read_until">async_read_until</a>
134         functions.
135       </p>
136 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
137 <li class="listitem">
138             <a href="../example/cpp03/http/client/sync_client.cpp" target="_top">boost_asio/example/cpp03/http/client/sync_client.cpp</a>
139           </li>
140 <li class="listitem">
141             <a href="../example/cpp03/http/client/async_client.cpp" target="_top">boost_asio/example/cpp03/http/client/async_client.cpp</a>
142           </li>
143 </ul></div>
144 <h5>
145 <a name="boost_asio.examples.cpp03_examples.h6"></a>
146         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server">HTTP
147         Server</a>
148       </h5>
149 <p>
150         This example illustrates the use of asio in a simple single-threaded server
151         implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown
152         by cancelling all outstanding asynchronous operations.
153       </p>
154 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
155 <li class="listitem">
156             <a href="../example/cpp03/http/server/connection.cpp" target="_top">boost_asio/example/cpp03/http/server/connection.cpp</a>
157           </li>
158 <li class="listitem">
159             <a href="../example/cpp03/http/server/connection.hpp" target="_top">boost_asio/example/cpp03/http/server/connection.hpp</a>
160           </li>
161 <li class="listitem">
162             <a href="../example/cpp03/http/server/connection_manager.cpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.cpp</a>
163           </li>
164 <li class="listitem">
165             <a href="../example/cpp03/http/server/connection_manager.hpp" target="_top">boost_asio/example/cpp03/http/server/connection_manager.hpp</a>
166           </li>
167 <li class="listitem">
168             <a href="../example/cpp03/http/server/header.hpp" target="_top">boost_asio/example/cpp03/http/server/header.hpp</a>
169           </li>
170 <li class="listitem">
171             <a href="../example/cpp03/http/server/main.cpp" target="_top">boost_asio/example/cpp03/http/server/main.cpp</a>
172           </li>
173 <li class="listitem">
174             <a href="../example/cpp03/http/server/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.cpp</a>
175           </li>
176 <li class="listitem">
177             <a href="../example/cpp03/http/server/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server/mime_types.hpp</a>
178           </li>
179 <li class="listitem">
180             <a href="../example/cpp03/http/server/reply.cpp" target="_top">boost_asio/example/cpp03/http/server/reply.cpp</a>
181           </li>
182 <li class="listitem">
183             <a href="../example/cpp03/http/server/reply.hpp" target="_top">boost_asio/example/cpp03/http/server/reply.hpp</a>
184           </li>
185 <li class="listitem">
186             <a href="../example/cpp03/http/server/request.hpp" target="_top">boost_asio/example/cpp03/http/server/request.hpp</a>
187           </li>
188 <li class="listitem">
189             <a href="../example/cpp03/http/server/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.cpp</a>
190           </li>
191 <li class="listitem">
192             <a href="../example/cpp03/http/server/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server/request_handler.hpp</a>
193           </li>
194 <li class="listitem">
195             <a href="../example/cpp03/http/server/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.cpp</a>
196           </li>
197 <li class="listitem">
198             <a href="../example/cpp03/http/server/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server/request_parser.hpp</a>
199           </li>
200 <li class="listitem">
201             <a href="../example/cpp03/http/server/server.cpp" target="_top">boost_asio/example/cpp03/http/server/server.cpp</a>
202           </li>
203 <li class="listitem">
204             <a href="../example/cpp03/http/server/server.hpp" target="_top">boost_asio/example/cpp03/http/server/server.hpp</a>
205           </li>
206 </ul></div>
207 <h5>
208 <a name="boost_asio.examples.cpp03_examples.h7"></a>
209         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_2"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_2">HTTP
210         Server 2</a>
211       </h5>
212 <p>
213         An HTTP server using an io_service-per-CPU design.
214       </p>
215 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
216 <li class="listitem">
217             <a href="../example/cpp03/http/server2/connection.cpp" target="_top">boost_asio/example/cpp03/http/server2/connection.cpp</a>
218           </li>
219 <li class="listitem">
220             <a href="../example/cpp03/http/server2/connection.hpp" target="_top">boost_asio/example/cpp03/http/server2/connection.hpp</a>
221           </li>
222 <li class="listitem">
223             <a href="../example/cpp03/http/server2/header.hpp" target="_top">boost_asio/example/cpp03/http/server2/header.hpp</a>
224           </li>
225 <li class="listitem">
226             <a href="../example/cpp03/http/server2/io_service_pool.cpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.cpp</a>
227           </li>
228 <li class="listitem">
229             <a href="../example/cpp03/http/server2/io_service_pool.hpp" target="_top">boost_asio/example/cpp03/http/server2/io_service_pool.hpp</a>
230           </li>
231 <li class="listitem">
232             <a href="../example/cpp03/http/server2/main.cpp" target="_top">boost_asio/example/cpp03/http/server2/main.cpp</a>
233           </li>
234 <li class="listitem">
235             <a href="../example/cpp03/http/server2/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.cpp</a>
236           </li>
237 <li class="listitem">
238             <a href="../example/cpp03/http/server2/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server2/mime_types.hpp</a>
239           </li>
240 <li class="listitem">
241             <a href="../example/cpp03/http/server2/reply.cpp" target="_top">boost_asio/example/cpp03/http/server2/reply.cpp</a>
242           </li>
243 <li class="listitem">
244             <a href="../example/cpp03/http/server2/reply.hpp" target="_top">boost_asio/example/cpp03/http/server2/reply.hpp</a>
245           </li>
246 <li class="listitem">
247             <a href="../example/cpp03/http/server2/request.hpp" target="_top">boost_asio/example/cpp03/http/server2/request.hpp</a>
248           </li>
249 <li class="listitem">
250             <a href="../example/cpp03/http/server2/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.cpp</a>
251           </li>
252 <li class="listitem">
253             <a href="../example/cpp03/http/server2/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_handler.hpp</a>
254           </li>
255 <li class="listitem">
256             <a href="../example/cpp03/http/server2/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.cpp</a>
257           </li>
258 <li class="listitem">
259             <a href="../example/cpp03/http/server2/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server2/request_parser.hpp</a>
260           </li>
261 <li class="listitem">
262             <a href="../example/cpp03/http/server2/server.cpp" target="_top">boost_asio/example/cpp03/http/server2/server.cpp</a>
263           </li>
264 <li class="listitem">
265             <a href="../example/cpp03/http/server2/server.hpp" target="_top">boost_asio/example/cpp03/http/server2/server.hpp</a>
266           </li>
267 </ul></div>
268 <h5>
269 <a name="boost_asio.examples.cpp03_examples.h8"></a>
270         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_3"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_3">HTTP
271         Server 3</a>
272       </h5>
273 <p>
274         An HTTP server using a single io_service and a thread pool calling <code class="computeroutput"><span class="identifier">io_service</span><span class="special">::</span><span class="identifier">run</span><span class="special">()</span></code>.
275       </p>
276 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
277 <li class="listitem">
278             <a href="../example/cpp03/http/server3/connection.cpp" target="_top">boost_asio/example/cpp03/http/server3/connection.cpp</a>
279           </li>
280 <li class="listitem">
281             <a href="../example/cpp03/http/server3/connection.hpp" target="_top">boost_asio/example/cpp03/http/server3/connection.hpp</a>
282           </li>
283 <li class="listitem">
284             <a href="../example/cpp03/http/server3/header.hpp" target="_top">boost_asio/example/cpp03/http/server3/header.hpp</a>
285           </li>
286 <li class="listitem">
287             <a href="../example/cpp03/http/server3/main.cpp" target="_top">boost_asio/example/cpp03/http/server3/main.cpp</a>
288           </li>
289 <li class="listitem">
290             <a href="../example/cpp03/http/server3/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.cpp</a>
291           </li>
292 <li class="listitem">
293             <a href="../example/cpp03/http/server3/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server3/mime_types.hpp</a>
294           </li>
295 <li class="listitem">
296             <a href="../example/cpp03/http/server3/reply.cpp" target="_top">boost_asio/example/cpp03/http/server3/reply.cpp</a>
297           </li>
298 <li class="listitem">
299             <a href="../example/cpp03/http/server3/reply.hpp" target="_top">boost_asio/example/cpp03/http/server3/reply.hpp</a>
300           </li>
301 <li class="listitem">
302             <a href="../example/cpp03/http/server3/request.hpp" target="_top">boost_asio/example/cpp03/http/server3/request.hpp</a>
303           </li>
304 <li class="listitem">
305             <a href="../example/cpp03/http/server3/request_handler.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.cpp</a>
306           </li>
307 <li class="listitem">
308             <a href="../example/cpp03/http/server3/request_handler.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_handler.hpp</a>
309           </li>
310 <li class="listitem">
311             <a href="../example/cpp03/http/server3/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.cpp</a>
312           </li>
313 <li class="listitem">
314             <a href="../example/cpp03/http/server3/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server3/request_parser.hpp</a>
315           </li>
316 <li class="listitem">
317             <a href="../example/cpp03/http/server3/server.cpp" target="_top">boost_asio/example/cpp03/http/server3/server.cpp</a>
318           </li>
319 <li class="listitem">
320             <a href="../example/cpp03/http/server3/server.hpp" target="_top">boost_asio/example/cpp03/http/server3/server.hpp</a>
321           </li>
322 </ul></div>
323 <h5>
324 <a name="boost_asio.examples.cpp03_examples.h9"></a>
325         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.http_server_4"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.http_server_4">HTTP
326         Server 4</a>
327       </h5>
328 <p>
329         A single-threaded HTTP server implemented using stackless coroutines.
330       </p>
331 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
332 <li class="listitem">
333             <a href="../example/cpp03/http/server4/file_handler.cpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.cpp</a>
334           </li>
335 <li class="listitem">
336             <a href="../example/cpp03/http/server4/file_handler.hpp" target="_top">boost_asio/example/cpp03/http/server4/file_handler.hpp</a>
337           </li>
338 <li class="listitem">
339             <a href="../example/cpp03/http/server4/header.hpp" target="_top">boost_asio/example/cpp03/http/server4/header.hpp</a>
340           </li>
341 <li class="listitem">
342             <a href="../example/cpp03/http/server4/main.cpp" target="_top">boost_asio/example/cpp03/http/server4/main.cpp</a>
343           </li>
344 <li class="listitem">
345             <a href="../example/cpp03/http/server4/mime_types.cpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.cpp</a>
346           </li>
347 <li class="listitem">
348             <a href="../example/cpp03/http/server4/mime_types.hpp" target="_top">boost_asio/example/cpp03/http/server4/mime_types.hpp</a>
349           </li>
350 <li class="listitem">
351             <a href="../example/cpp03/http/server4/reply.cpp" target="_top">boost_asio/example/cpp03/http/server4/reply.cpp</a>
352           </li>
353 <li class="listitem">
354             <a href="../example/cpp03/http/server4/reply.hpp" target="_top">boost_asio/example/cpp03/http/server4/reply.hpp</a>
355           </li>
356 <li class="listitem">
357             <a href="../example/cpp03/http/server4/request.hpp" target="_top">boost_asio/example/cpp03/http/server4/request.hpp</a>
358           </li>
359 <li class="listitem">
360             <a href="../example/cpp03/http/server4/request_parser.cpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.cpp</a>
361           </li>
362 <li class="listitem">
363             <a href="../example/cpp03/http/server4/request_parser.hpp" target="_top">boost_asio/example/cpp03/http/server4/request_parser.hpp</a>
364           </li>
365 <li class="listitem">
366             <a href="../example/cpp03/http/server4/server.cpp" target="_top">boost_asio/example/cpp03/http/server4/server.cpp</a>
367           </li>
368 <li class="listitem">
369             <a href="../example/cpp03/http/server4/server.hpp" target="_top">boost_asio/example/cpp03/http/server4/server.hpp</a>
370           </li>
371 </ul></div>
372 <h5>
373 <a name="boost_asio.examples.cpp03_examples.h10"></a>
374         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.icmp"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.icmp">ICMP</a>
375       </h5>
376 <p>
377         This example shows how to use raw sockets with ICMP to ping a remote host.
378       </p>
379 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
380 <li class="listitem">
381             <a href="../example/cpp03/icmp/ping.cpp" target="_top">boost_asio/example/cpp03/icmp/ping.cpp</a>
382           </li>
383 <li class="listitem">
384             <a href="../example/cpp03/icmp/ipv4_header.hpp" target="_top">boost_asio/example/cpp03/icmp/ipv4_header.hpp</a>
385           </li>
386 <li class="listitem">
387             <a href="../example/cpp03/icmp/icmp_header.hpp" target="_top">boost_asio/example/cpp03/icmp/icmp_header.hpp</a>
388           </li>
389 </ul></div>
390 <h5>
391 <a name="boost_asio.examples.cpp03_examples.h11"></a>
392         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.invocation"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.invocation">Invocation</a>
393       </h5>
394 <p>
395         This example shows how to customise handler invocation. Completion handlers
396         are added to a priority queue rather than executed immediately.
397       </p>
398 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
399             <a href="../example/cpp03/invocation/prioritised_handlers.cpp" target="_top">boost_asio/example/cpp03/invocation/prioritised_handlers.cpp</a>
400           </li></ul></div>
401 <h5>
402 <a name="boost_asio.examples.cpp03_examples.h12"></a>
403         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.iostreams"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.iostreams">Iostreams</a>
404       </h5>
405 <p>
406         Two examples showing how to use <a class="link" href="../reference/ip__tcp/iostream.html" title="ip::tcp::iostream">ip::tcp::iostream</a>.
407       </p>
408 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
409 <li class="listitem">
410             <a href="../example/cpp03/iostreams/daytime_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_client.cpp</a>
411           </li>
412 <li class="listitem">
413             <a href="../example/cpp03/iostreams/daytime_server.cpp" target="_top">boost_asio/example/cpp03/iostreams/daytime_server.cpp</a>
414           </li>
415 <li class="listitem">
416             <a href="../example/cpp03/iostreams/http_client.cpp" target="_top">boost_asio/example/cpp03/iostreams/http_client.cpp</a>
417           </li>
418 </ul></div>
419 <h5>
420 <a name="boost_asio.examples.cpp03_examples.h13"></a>
421         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.multicast"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.multicast">Multicast</a>
422       </h5>
423 <p>
424         An example showing the use of multicast to transmit packets to a group of
425         subscribers.
426       </p>
427 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
428 <li class="listitem">
429             <a href="../example/cpp03/multicast/receiver.cpp" target="_top">boost_asio/example/cpp03/multicast/receiver.cpp</a>
430           </li>
431 <li class="listitem">
432             <a href="../example/cpp03/multicast/sender.cpp" target="_top">boost_asio/example/cpp03/multicast/sender.cpp</a>
433           </li>
434 </ul></div>
435 <h5>
436 <a name="boost_asio.examples.cpp03_examples.h14"></a>
437         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.serialization"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.serialization">Serialization</a>
438       </h5>
439 <p>
440         This example shows how Boost.Serialization can be used with asio to encode
441         and decode structures for transmission over a socket.
442       </p>
443 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
444 <li class="listitem">
445             <a href="../example/cpp03/serialization/client.cpp" target="_top">boost_asio/example/cpp03/serialization/client.cpp</a>
446           </li>
447 <li class="listitem">
448             <a href="../example/cpp03/serialization/connection.hpp" target="_top">boost_asio/example/cpp03/serialization/connection.hpp</a>
449           </li>
450 <li class="listitem">
451             <a href="../example/cpp03/serialization/server.cpp" target="_top">boost_asio/example/cpp03/serialization/server.cpp</a>
452           </li>
453 <li class="listitem">
454             <a href="../example/cpp03/serialization/stock.hpp" target="_top">boost_asio/example/cpp03/serialization/stock.hpp</a>
455           </li>
456 </ul></div>
457 <h5>
458 <a name="boost_asio.examples.cpp03_examples.h15"></a>
459         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.services"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.services">Services</a>
460       </h5>
461 <p>
462         This example demonstrates how to integrate custom functionality (in this
463         case, for logging) into asio's <a class="link" href="../reference/io_service.html" title="io_service">io_service</a>,
464         and how to use a custom service with <a class="link" href="../reference/basic_stream_socket.html" title="basic_stream_socket">basic_stream_socket&lt;&gt;</a>.
465       </p>
466 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
467 <li class="listitem">
468             <a href="../example/cpp03/services/basic_logger.hpp" target="_top">boost_asio/example/cpp03/services/basic_logger.hpp</a>
469           </li>
470 <li class="listitem">
471             <a href="../example/cpp03/services/daytime_client.cpp" target="_top">boost_asio/example/cpp03/services/daytime_client.cpp</a>
472           </li>
473 <li class="listitem">
474             <a href="../example/cpp03/services/logger.hpp" target="_top">boost_asio/example/cpp03/services/logger.hpp</a>
475           </li>
476 <li class="listitem">
477             <a href="../example/cpp03/services/logger_service.cpp" target="_top">boost_asio/example/cpp03/services/logger_service.cpp</a>
478           </li>
479 <li class="listitem">
480             <a href="../example/cpp03/services/logger_service.hpp" target="_top">boost_asio/example/cpp03/services/logger_service.hpp</a>
481           </li>
482 <li class="listitem">
483             <a href="../example/cpp03/services/stream_socket_service.hpp" target="_top">boost_asio/example/cpp03/services/stream_socket_service.hpp</a>
484           </li>
485 </ul></div>
486 <h5>
487 <a name="boost_asio.examples.cpp03_examples.h16"></a>
488         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.socks_4"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.socks_4">SOCKS
489         4</a>
490       </h5>
491 <p>
492         Example client program implementing the SOCKS 4 protocol for communication
493         via a proxy.
494       </p>
495 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
496 <li class="listitem">
497             <a href="../example/cpp03/socks4/sync_client.cpp" target="_top">boost_asio/example/cpp03/socks4/sync_client.cpp</a>
498           </li>
499 <li class="listitem">
500             <a href="../example/cpp03/socks4/socks4.hpp" target="_top">boost_asio/example/cpp03/socks4/socks4.hpp</a>
501           </li>
502 </ul></div>
503 <h5>
504 <a name="boost_asio.examples.cpp03_examples.h17"></a>
505         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.ssl"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.ssl">SSL</a>
506       </h5>
507 <p>
508         Example client and server programs showing the use of the <a class="link" href="../reference/ssl__stream.html" title="ssl::stream">ssl::stream&lt;&gt;</a>
509         template with asynchronous operations.
510       </p>
511 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
512 <li class="listitem">
513             <a href="../example/cpp03/ssl/client.cpp" target="_top">boost_asio/example/cpp03/ssl/client.cpp</a>
514           </li>
515 <li class="listitem">
516             <a href="../example/cpp03/ssl/server.cpp" target="_top">boost_asio/example/cpp03/ssl/server.cpp</a>
517           </li>
518 </ul></div>
519 <h5>
520 <a name="boost_asio.examples.cpp03_examples.h18"></a>
521         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timeouts"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.timeouts">Timeouts</a>
522       </h5>
523 <p>
524         A collection of examples showing how to cancel long running asynchronous
525         operations after a period of time.
526       </p>
527 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
528 <li class="listitem">
529             <a href="../example/cpp03/timeouts/async_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/async_tcp_client.cpp</a>
530           </li>
531 <li class="listitem">
532             <a href="../example/cpp03/timeouts/blocking_tcp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_tcp_client.cpp</a>
533           </li>
534 <li class="listitem">
535             <a href="../example/cpp03/timeouts/blocking_udp_client.cpp" target="_top">boost_asio/example/cpp03/timeouts/blocking_udp_client.cpp</a>
536           </li>
537 <li class="listitem">
538             <a href="../example/cpp03/timeouts/server.cpp" target="_top">boost_asio/example/cpp03/timeouts/server.cpp</a>
539           </li>
540 </ul></div>
541 <h5>
542 <a name="boost_asio.examples.cpp03_examples.h19"></a>
543         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.timers"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.timers">Timers</a>
544       </h5>
545 <p>
546         Examples showing how to customise deadline_timer using different time types.
547       </p>
548 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
549 <li class="listitem">
550             <a href="../example/cpp03/timers/tick_count_timer.cpp" target="_top">boost_asio/example/cpp03/timers/tick_count_timer.cpp</a>
551           </li>
552 <li class="listitem">
553             <a href="../example/cpp03/timers/time_t_timer.cpp" target="_top">boost_asio/example/cpp03/timers/time_t_timer.cpp</a>
554           </li>
555 </ul></div>
556 <h5>
557 <a name="boost_asio.examples.cpp03_examples.h20"></a>
558         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.porthopper"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.porthopper">Porthopper</a>
559       </h5>
560 <p>
561         Example illustrating mixed synchronous and asynchronous operations, and how
562         to use Boost.Lambda with Boost.Asio.
563       </p>
564 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
565 <li class="listitem">
566             <a href="../example/cpp03/porthopper/protocol.hpp" target="_top">boost_asio/example/cpp03/porthopper/protocol.hpp</a>
567           </li>
568 <li class="listitem">
569             <a href="../example/cpp03/porthopper/client.cpp" target="_top">boost_asio/example/cpp03/porthopper/client.cpp</a>
570           </li>
571 <li class="listitem">
572             <a href="../example/cpp03/porthopper/server.cpp" target="_top">boost_asio/example/cpp03/porthopper/server.cpp</a>
573           </li>
574 </ul></div>
575 <h5>
576 <a name="boost_asio.examples.cpp03_examples.h21"></a>
577         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.nonblocking"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.nonblocking">Nonblocking</a>
578       </h5>
579 <p>
580         Example demonstrating reactor-style operations for integrating a third-party
581         library that wants to perform the I/O operations itself.
582       </p>
583 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
584             <a href="../example/cpp03/nonblocking/third_party_lib.cpp" target="_top">boost_asio/example/cpp03/nonblocking/third_party_lib.cpp</a>
585           </li></ul></div>
586 <h5>
587 <a name="boost_asio.examples.cpp03_examples.h22"></a>
588         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.spawn"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.spawn">Spawn</a>
589       </h5>
590 <p>
591         Example of using the boost::asio::spawn() function, a wrapper around the
592         <a href="http://www.boost.org/doc/libs/release/libs/coroutine/index.html" target="_top">Boost.Coroutine</a>
593         library, to implement a chain of asynchronous operations using stackful coroutines.
594       </p>
595 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
596             <a href="../example/cpp03/spawn/echo_server.cpp" target="_top">boost_asio/example/cpp03/spawn/echo_server.cpp</a>
597           </li></ul></div>
598 <h5>
599 <a name="boost_asio.examples.cpp03_examples.h23"></a>
600         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.unix_domain_sockets"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.unix_domain_sockets">UNIX Domain
601         Sockets</a>
602       </h5>
603 <p>
604         Examples showing how to use UNIX domain (local) sockets.
605       </p>
606 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
607 <li class="listitem">
608             <a href="../example/cpp03/local/connect_pair.cpp" target="_top">boost_asio/example/cpp03/local/connect_pair.cpp</a>
609           </li>
610 <li class="listitem">
611             <a href="../example/cpp03/local/stream_server.cpp" target="_top">boost_asio/example/cpp03/local/stream_server.cpp</a>
612           </li>
613 <li class="listitem">
614             <a href="../example/cpp03/local/stream_client.cpp" target="_top">boost_asio/example/cpp03/local/stream_client.cpp</a>
615           </li>
616 </ul></div>
617 <h5>
618 <a name="boost_asio.examples.cpp03_examples.h24"></a>
619         <span class="phrase"><a name="boost_asio.examples.cpp03_examples.windows"></a></span><a class="link" href="cpp03_examples.html#boost_asio.examples.cpp03_examples.windows">Windows</a>
620       </h5>
621 <p>
622         An example showing how to use the Windows-specific function <code class="computeroutput"><span class="identifier">TransmitFile</span></code> with Boost.Asio.
623       </p>
624 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
625             <a href="../example/cpp03/windows/transmit_file.cpp" target="_top">boost_asio/example/cpp03/windows/transmit_file.cpp</a>
626           </li></ul></div>
627 </div>
628 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
629 <td align="left"></td>
630 <td align="right"><div class="copyright-footer">Copyright &#169; 2003-2014 Christopher M. Kohlhoff<p>
631         Distributed under the Boost Software License, Version 1.0. (See accompanying
632         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
633       </p>
634 </div></td>
635 </tr></table>
636 <hr>
637 <div class="spirit-nav">
638 <a accesskey="p" href="../examples.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cpp11_examples.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
639 </div>
640 </body>
641 </html>