php 监听端口数据客户端ip_Rust 监听未使用的 TCP/IP 端口 Rust 实践指南

2f9a1c4cafa16b0edc2b8a20b50912f2.png

在本实例中,程序将监听显示在控制台上的端口,直到一个请求被发出。当将端口设置为 0 时,SocketAddrV4 会分配一个随机端口。

use std::net::{SocketAddrV4, Ipv4Addr, TcpListener};use std::io::{Read, Error};fn main() -> ResultError> {    let loopback = Ipv4Addr::new(127, 0, 0, 1);    let socket = SocketAddrV4::new(loopback, 0);    let listener = TcpListener::bind(socket)?;    let port = listener.local_addr()?;    println!("Listening on {}, access this port to end the program", port);    let (mut tcp_stream, addr) = listener.accept()?; // 阻塞,直到被请求    println!("Connection received! {:?} is sending data.", addr);    let mut input = String::new();    let _ = tcp_stream.read_to_string(&mut input)?;    println!("{:?} says {}", addr, input);    Ok(())}

以上实例代码都是完整的、可独立运行的程序,因此你可以直接复制它们到自己的项目中进行试验。

指南适用于 Rust 程序员新手,以便于他们可以快速了解 Rust crate 生态系统的功能。同时,本指南也适用于经验丰富的 Rust 程序员,他们可以在本指南中找到如何完成常见任务的简单提示。

如果希望从头了解如何运行上述实例代码,请参考《Rust 实践指南》中关于本书-如何使用本书实例部分。也可以复制链接:http://budshome.com/rust-cookbook/about.html

df8975de61a1ea497339712c150eb94c.png 点击阅读原文进行更详细的学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值