examples/tcp_echo_server: cleanup, use defer{}

pull/4147/head
Delyan Angelov 2020-03-28 19:10:48 +02:00 committed by GitHub
parent a9724fd38d
commit fa02130359
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 12 deletions

View File

@ -1,23 +1,29 @@
import net
// This file shows how a basic TCP echo server can be implemented using
// the `net` module. You can connect to the server by using netcat
// or telnet, in separate shells, for example:
// `nc 127.0.0.1 12345`
// `telnet 127.0.0.1 12345`
fn handle_connection(con net.Socket) {
if _ := con.send_string("Welcome to V's TCP Echo server.\n") {
eprintln('new client connected')
defer {
eprintln('closing connection: $con')
con.close() or { }
}
con.send_string("Welcome to V's TCP Echo server.\n") or {
return
}
for {
line := con.read_line()
if line.len == 0 { break }
eprintln('received line: ' + line.trim_space())
con.send_string(line) or { break }
}
}
con.close() or {}
if line.len == 0 {
return
}
eprintln('received line: ' + line.trim_space())
con.send_string(line) or {
return
}
}
}
fn main() {
server_port := 12345