43 lines
906 B
V
43 lines
906 B
V
import netio
|
|
|
|
fn main() {
|
|
// Create new TCP socket.
|
|
mut socket := netio.Socket.new(netio.af_inet, netio.sock_stream, 0)!
|
|
|
|
defer {
|
|
socket.close() or { panic(err) }
|
|
}
|
|
|
|
// Create the server socket address.
|
|
server_addr := netio.SocketAddr.ipv4([u8(127), 0, 0, 1]!, 1081)
|
|
|
|
// Connect socket to the server address.
|
|
socket.connect(server_addr) or {
|
|
eprintln('CONNECT: ${err}')
|
|
exit(1)
|
|
}
|
|
|
|
eprintln('Connected to server ${server_addr}...')
|
|
|
|
// Send message to the server.
|
|
msg := 'Hello from client!'
|
|
|
|
sent := socket.send(msg.bytes(), 0)!
|
|
|
|
eprintln('Sent to the server: ${sent} bytes, data: ${msg}')
|
|
|
|
// Read the server reply.
|
|
mut buf := []u8{len: 512}
|
|
|
|
read := socket.recv(mut buf, 0) or {
|
|
eprintln('RECV: ${err}')
|
|
exit(1)
|
|
}
|
|
|
|
if read > 0 {
|
|
eprintln('Received from server: ${read} bytes, data: ${buf.bytestr()}')
|
|
} else if read == 0 {
|
|
eprintln('Server closed the connection.')
|
|
}
|
|
}
|