peer_addr
fn peer_addr(Stream s) -> Result<(string, int), IoError> Import
Source: use io::net::tcp::{peer_addr}; compiler/src/builtin_docs/io/net/tcp.hy Returns the remote (host, port) of a connected TCP stream.
The host is an IP address; IPv6 addresses come in brackets
("[::1]"). Returns Err(IoError::InvalidInput) for a listener or a
stream that is not TCP.
Parameters#
| Name | Type |
|---|---|
s | Stream |
Returns#
Result<(string, int), IoError>
Examples#
use io::{IoError};
use io::net::tcp::{connect, listen, local_addr, peer_addr};
use tests::assert;
fn run() -> Result<(string, int), IoError> {
let listener = listen("127.0.0.1", 0)?;
let (_, port) = local_addr(listener)?;
let client = connect("127.0.0.1", port)?;
return peer_addr(client)?;
}
fn main() {
let (host, _) = match run() {
Result::Ok(addr) => addr,
Result::Err(_) => ("", 0),
};
assert!(host == "127.0.0.1");
}
See also#
accept: Accepts one pending connection onlistenerwithout waiting.connect: Opens a TCP connection tohostonport.connect_timeout: Opens a TCP connection tohostonport, giving up aftermsmilliseconds.listen: Opens a TCP socket listening onhostandport.local_addr: Returns the local(host, port)of a TCP listener or connected TCP stream.set_nodelay: TurnsTCP_NODELAYon or off for a TCP stream.shutdown: Shuts down the reading half, the writing half, or both halves of a TCP stream.