-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathclient.jl
40 lines (30 loc) · 917 Bytes
/
client.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import Sockets
const SERVER_IP_ADDRESS = Sockets.localhost # Sockets.ip"127.0.0.1"
const SERVER_PORT_NUMBER = 50000
function try_send(socket, message)
try
println(socket, message)
catch error
@error error
close(socket)
end
return nothing
end
function start_client(server_ip_address, server_port_number)
socket = Sockets.connect(server_ip_address, server_port_number)
sockname = Sockets.getsockname(socket)
client_ip_address = sockname[1]
client_port_number = Int(sockname[2])
@info "Connected to server" server_ip_address server_port_number client_ip_address client_port_number
t = errormonitor(
@async while !eof(socket)
println(readline(socket))
end
)
while isopen(socket)
try_send(socket, readline())
end
wait(t)
return nothing
end
start_client(SERVER_IP_ADDRESS, SERVER_PORT_NUMBER)