haiku-website/static/legacy-docs/bebook/BNetBuffer_Overview.html

25 lines
5.6 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - System Overview - The Network Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheNetworkKit_Overview.html" title="The Network Kit" /><link rel="prev" href="BNetAddress_Overview.html" title="BNetAddress" /><link rel="next" href="BNetDebug_Overview.html" title="BNetDebug" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BNetAddress_Overview.html" title="BNetAddress"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheNetworkKit_Overview.html" title="The Network Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="BNetDebug_Overview.html" title="BNetDebug"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - System Overview - The Network Kit</div></div><div id="headerB">Prev: <a href="BNetAddress_Overview.html">BNetAddress</a>  Up: <a href="TheNetworkKit_Overview.html">The Network Kit</a>  Next: <a href="BNetDebug_Overview.html">BNetDebug</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BNetBuffer_Overview"></a>BNetBuffer</h2></div></div></div><a id="id597328" class="indexterm"></a><p>The <a class="link" href="BNetBuffer.html" title="BNetBuffer"><code class="classname">BNetBuffer</code></a>
class provides an easy way to construct network buffers
consisting of any sort of data, for use by the
<a class="link" href="BNetEndpoint.html" title="BNetEndpoint"><code class="classname">BNetEndpoint</code></a>
class.</p><p>Once you've created a
<a class="link" href="BNetBuffer.html" title="BNetBuffer"><code class="classname">BNetBuffer</code></a>,
you can append data to it by using a
series of functions designed to add various types of data. For example,
to create a buffer and place the long integer 2 followed by the string
"This is a test." in it, you could do this:</p><pre class="programlisting example cpp"><code class="classname">BNetBuffer</code> <code class="varname">buffer</code>(512);
<code class="varname">buffer</code>.<code class="methodname">AppendInt32</code>(2);
<code class="varname">buffer</code>.<code class="methodname">AppendString</code>("This is a test.");</pre><p>The
<a class="link" href="BNetBuffer.html#BNetBuffer_AppendInt32"><code class="methodname">AppendInt32()</code></a>
function automatically handles conversion of the value into network byte
order, as do all of the <code class="methodname">AppendXXX()</code> functions
for integer values (16-bit, 32-bit, and 64-bit, signed or unsigned).
Likewise, the <code class="methodname">RemoveXXX()</code> functions peel data
out of a buffer, and they too are endian-aware.</p></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BNetAddress_Overview.html">BNetAddress</a>  Up: <a href="TheNetworkKit_Overview.html">The Network Kit</a>  Next: <a href="BNetDebug_Overview.html">BNetDebug</a> </div><div id="footerB"><div id="footerBL"><a href="BNetAddress_Overview.html" title="BNetAddress"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheNetworkKit_Overview.html" title="The Network Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="BNetDebug_Overview.html" title="BNetDebug"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>