Skip to content

Instantly share code, notes, and snippets.

@susilolab
Created February 25, 2023 03:49
Show Gist options
  • Select an option

  • Save susilolab/8a72a100ba6eeee74f9b6122bae0d938 to your computer and use it in GitHub Desktop.

Select an option

Save susilolab/8a72a100ba6eeee74f9b6122bae0d938 to your computer and use it in GitHub Desktop.
Connect to TCP Server in Rust

Connect to TCP Server in Rust

use std::net::{SocketAddr, TcpStream};

fn main() {
    if let Ok(_stream) = TcpStream::connect("google.com:80") {
        println!("Ok");
    } else {
        println!("Error");
    }
}

Jika ingin membuka banyak port lebih baik menggunakan thread agar lebih cepat. contoh:

use std::net::TcpStream;
use std::thread;

fn main() {
    let mut threads = Vec::new();

    for i in 1..1025 {
        let t = thread::spawn(move || {
            let addr = format!("example.com:{}", i);
            if let Ok(_stream) = TcpStream::connect(addr) {
                println!("{} open", i);
            }
        });
        threads.push(t);
    }

    for t in threads {
        t.join().expect("thread failed");
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment