generated from PlexSheep/rs-base
it works
cargo devel CI / cargo CI (push) Successful in 3m3s
Details
cargo devel CI / cargo CI (push) Successful in 3m3s
Details
This commit is contained in:
parent
81b54c66f2
commit
d18a4c1e0b
|
@ -1,7 +1,7 @@
|
|||
workspace = { members = ["spammer"] }
|
||||
[package]
|
||||
name = "netpong"
|
||||
version = "0.1.1"
|
||||
version = "0.2.0"
|
||||
edition = "2021"
|
||||
publish = true
|
||||
authors = ["Christoph J. Scherr <software@cscherr.de>"]
|
||||
|
|
|
@ -62,12 +62,15 @@ impl Client {
|
|||
let mut stream = self.connector.connect(self.domain, self.stream).await?;
|
||||
let mut buf = [0; BUF_SIZE];
|
||||
stream.write_all(b"ping").await?;
|
||||
info!("> {} ping", self.cfg.hostname);
|
||||
info!("> ({}) ping", self.cfg.hostname);
|
||||
while stream.read(&mut buf).await? > 0 {
|
||||
let response = decode(&buf)?;
|
||||
info!("< {} \"{}\"", self.cfg.hostname, response);
|
||||
info!("< ({}) {}", self.cfg.hostname, response);
|
||||
if response == "You win!" {
|
||||
break;
|
||||
}
|
||||
stream.write_all(b"ping").await?;
|
||||
info!("> {} ping", self.cfg.hostname);
|
||||
info!("> ({}) ping", self.cfg.hostname);
|
||||
// we should wait, so that we don't spam the client
|
||||
std::thread::sleep(self.cfg.delay);
|
||||
}
|
||||
|
|
|
@ -162,18 +162,22 @@ impl Server {
|
|||
debug!("new peer: {:?}", addr);
|
||||
while stream.read(&mut buf).await? > 0 {
|
||||
let request = decode(&buf)?;
|
||||
debug!(pings, "< {:?}\n\"{:X?}\"", addr, request);
|
||||
debug!(pings, "< ({})\n\"{}\"", addr, request);
|
||||
if request == format!("ping") {
|
||||
pings += 1;
|
||||
if pings > self.cfg.win_after {
|
||||
stream.write_all(b"You win!").await?;
|
||||
debug!(pings, "> ({})\n\"{}\"", addr, "You win!");
|
||||
info!("{} won!", addr);
|
||||
stream.flush().await?;
|
||||
stream.shutdown().await?;
|
||||
break;
|
||||
}
|
||||
stream.write_all(b"pong").await?;
|
||||
debug!(pings, "> ({})\n\"{}\"", addr, "pong");
|
||||
} else {
|
||||
stream.write_all(b"what is the magic word?").await?;
|
||||
debug!(pings, "> ({})\n\"{}\"", addr, "what is the magic word?");
|
||||
stream.flush().await?;
|
||||
}
|
||||
// we should wait, so that we don't spam the client
|
||||
|
|
Loading…
Reference in New Issue