Files
bumble_mirror/transports/tcp_client.html
2022-05-16 19:54:59 -07:00

1056 lines
21 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="../images/favicon.ico">
<meta name="generator" content="mkdocs-1.2, mkdocs-material-7.1.7">
<title>TCP Client - Bumble</title>
<link rel="stylesheet" href="../assets/stylesheets/main.ca7ac06f.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.f1a3b89f.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
<style>:root{--md-text-font-family:"Roboto";--md-code-font-family:"Roboto Mono"}</style>
<link rel="stylesheet" href="../assets/_mkdocstrings.css">
</head>
<body dir="ltr" data-md-color-scheme="" data-md-color-primary="none" data-md-color-accent="none">
<script>function __prefix(e){return new URL("..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#tcp-client-transport" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../index.html" title="Bumble" class="md-header__button md-logo" aria-label="Bumble" data-md-component="logo">
<img src="../images/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Bumble
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
TCP Client
</span>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../index.html" title="Bumble" class="md-nav__button md-logo" aria-label="Bumble" data-md-component="logo">
<img src="../images/logo.png" alt="logo">
</a>
Bumble
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../index.html" class="md-nav__link">
Introduction
</a>
</li>
<li class="md-nav__item">
<a href="../getting_started.html" class="md-nav__link">
Getting Started
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3">
Use Cases
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Use Cases" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Use Cases
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../use_cases/index.html" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_1.html" class="md-nav__link">
Use Case 1
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_2.html" class="md-nav__link">
Use Case 2
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_3.html" class="md-nav__link">
Use Case 3
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_4.html" class="md-nav__link">
Use Case 4
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_5.html" class="md-nav__link">
Use Case 5
</a>
</li>
<li class="md-nav__item">
<a href="../use_cases/use_case_6.html" class="md-nav__link">
Use Case 6
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4">
Components
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Components" data-md-level="1">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Components
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../components/controller.html" class="md-nav__link">
Controller
</a>
</li>
<li class="md-nav__item">
<a href="../components/host.html" class="md-nav__link">
Host
</a>
</li>
<li class="md-nav__item">
<a href="../components/gatt.html" class="md-nav__link">
GATT
</a>
</li>
<li class="md-nav__item">
<a href="../components/security_manager.html" class="md-nav__link">
Security Manager
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" checked>
<label class="md-nav__link" for="__nav_5">
Transports
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Transports" data-md-level="1">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Transports
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="index.html" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="serial.html" class="md-nav__link">
Serial
</a>
</li>
<li class="md-nav__item">
<a href="usb.html" class="md-nav__link">
USB
</a>
</li>
<li class="md-nav__item">
<a href="pty.html" class="md-nav__link">
PTY
</a>
</li>
<li class="md-nav__item">
<a href="udp.html" class="md-nav__link">
UDP
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
TCP Client
<span class="md-nav__icon md-icon"></span>
</label>
<a href="tcp_client.html" class="md-nav__link md-nav__link--active">
TCP Client
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#moniker" class="md-nav__link">
Moniker
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="tcp_server.html" class="md-nav__link">
TCP Server
</a>
</li>
<li class="md-nav__item">
<a href="ws_client.html" class="md-nav__link">
WebSocket Client
</a>
</li>
<li class="md-nav__item">
<a href="ws_server.html" class="md-nav__link">
WebSocket Server
</a>
</li>
<li class="md-nav__item">
<a href="vhci.html" class="md-nav__link">
VHCI
</a>
</li>
<li class="md-nav__item">
<a href="hci_socket.html" class="md-nav__link">
HCI Socket
</a>
</li>
<li class="md-nav__item">
<a href="android_emulator.html" class="md-nav__link">
Android Emulator
</a>
</li>
<li class="md-nav__item">
<a href="file.html" class="md-nav__link">
File
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6">
API
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="API" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
API
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../api/guide.html" class="md-nav__link">
Guide
</a>
</li>
<li class="md-nav__item">
<a href="../api/examples.html" class="md-nav__link">
Examples
</a>
</li>
<li class="md-nav__item">
<a href="../api/reference.html" class="md-nav__link">
Reference
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7">
Apps & Tools
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Apps & Tools" data-md-level="1">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Apps & Tools
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../apps_and_tools/index.html" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="../apps_and_tools/console.html" class="md-nav__link">
Console
</a>
</li>
<li class="md-nav__item">
<a href="../apps_and_tools/link_relay.html" class="md-nav__link">
Link Relay
</a>
</li>
<li class="md-nav__item">
<a href="../apps_and_tools/hci_bridge.html" class="md-nav__link">
HCI Bridge
</a>
</li>
<li class="md-nav__item">
<a href="../apps_and_tools/gg_bridge.html" class="md-nav__link">
Golden Gate Bridge
</a>
</li>
<li class="md-nav__item">
<a href="../apps_and_tools/show.html" class="md-nav__link">
Show
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_8" type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8">
Hardware
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Hardware" data-md-level="1">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Hardware
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../hardware/index.html" class="md-nav__link">
Overview
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_9" type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9">
Platforms
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Platforms" data-md-level="1">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
Platforms
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../platforms/index.html" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="../platforms/macos.html" class="md-nav__link">
macOS
</a>
</li>
<li class="md-nav__item">
<a href="../platforms/linux.html" class="md-nav__link">
Linux
</a>
</li>
<li class="md-nav__item">
<a href="../platforms/windows.html" class="md-nav__link">
Windows
</a>
</li>
<li class="md-nav__item">
<a href="../platforms/android.html" class="md-nav__link">
Android
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_10" type="checkbox" id="__nav_10" >
<label class="md-nav__link" for="__nav_10">
Examples
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Examples" data-md-level="1">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../examples/index.html" class="md-nav__link">
Overview
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#moniker" class="md-nav__link">
Moniker
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="tcp-client-transport">TCP CLIENT TRANSPORT<a class="headerlink" href="#tcp-client-transport" title="Permanent link">&para;</a></h1>
<p>The TCP Client transport uses an outgoing TCP connection to a host:port address.</p>
<h2 id="moniker">Moniker<a class="headerlink" href="#moniker" title="Permanent link">&para;</a></h2>
<p>The moniker syntax for a TCP client transport is: <code>tcp-client:&lt;remote-host&gt;:&lt;remote-port&gt;</code></p>
<div class="admonition example">
<p class="admonition-title">Example</p>
<p><code>tcp-client:127.0.0.1:9001</code><br />
Connects to port 9001 on the local host</p>
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="udp.html" title="UDP" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Previous
</span>
UDP
</span>
</div>
</a>
<a href="tcp_server.html" title="TCP Server" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
TCP Server
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Copyright 2021-2022 Google LLC
</div>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../assets/javascripts/workers/search.b0710199.min.js", "version": null}</script>
<script src="../assets/javascripts/bundle.76f349be.min.js"></script>
</body>
</html>