-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtcpclient.dc
55 lines (45 loc) · 842 Bytes
/
tcpclient.dc
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var serv
var msg
var msglen
var connbuf 256 mkbuf connbuf !
var prompt "Please enter your message: " prompt !
: get_serv serv @ ;
: get_connbuf connbuf @ ;
: get_msg msg @ ;
: get_msglen msglen @ ;
: get_prompt prompt @ ;
: set_msg msg ! ;
: set_msglen msglen ! ;
: get_user_msg
get_prompt print
input
set_msg
get_msg strlen set_msglen
"You entered: " print get_msg print cr
;
: zerobuf get_connbuf 0 256 memset ;
: msg_to_buf
zerobuf
get_connbuf
get_msg
dup strlen
mempcpy drop
;
: client_connect "localhost" 5509 tcpconnect serv ! ;
: write_to_server
get_serv get_connbuf get_msglen write drop
;
: read_response
zerobuf
get_serv get_connbuf 256 read drop
get_connbuf print cr
;
: sendloop
get_user_msg
msg_to_buf
client_connect
write_to_server
read_response
sendloop
;
sendloop