1 个不稳定版本
使用旧的Rust 2015
0.1.1 | 2017年2月5日 |
---|
#45 in #tcp-stream
10KB
205 行
bind_before_connect
在较老的网络协议或使用多个IP地址的情况下,人们希望使用特定的本地端口和/或特定的本地IP地址打开到远程主机的连接。换句话说,你想要指定本地源地址。
这可以通过使用 bind
系统调用(通常用于指定服务器的绑定地址)然后使用 connect
系统调用(通常用于连接到远程服务器)来完成。这个系统调用序列被称为 绑定后再连接。
Rust的 std::net::TcpStream
构造函数不允许指定特定的本地地址。它会选择一个随机的较高端口来使用。这个crate构建一个已绑定的套接字,然后将其转换为你可以用作正常的 std::net::TcpStream
。
目前只支持基于Unix的系统。对于Windows等系统的实现将非常受欢迎。
使用示例
请参阅 examples/simple.rs
并运行 cargo run --example simple
。
依赖项
~43KB