897ec4be15c0420d744c13944e42f4338257236e
2 from sender
import Sender
8 if __name__
== "__main__":
11 serverPort
= int(sys
.argv
[1])
12 s
= socket
.socket(socket
.AF_INET
, socket
.SOCK_STREAM
)
13 s
.bind(('', GASTPORT
))
15 print 'Listening on port {} for Gast'.format(GASTPORT
)
16 conn
, addr
= s
.accept()
17 print 'Connected by Gast at {}'.format(addr
)
18 print 'Initiating connection to EchoServer at port {}...'.format(serverPort
)
19 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
32 data
= conn
.recv(int(data
))
37 print 'S: {}'.format(seqnr
)
38 response
= sender
.sendInput('S', seqnr
, seqnr
)
41 print 'A: {}'.format(seqnr
)
42 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
45 print 'DAT: {} sending: a'.format(seqnr
)
46 response
= sender
.sendInput('PA', seqnr
, sender
.lastSeqReceived
+ 1, 'a')
49 print 'RP: {}'.format(seqnr
)
50 response
= sender
.sendInput("RP", seqnr
, 0)
54 print 'F: {}'.format(seqnr
)
55 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
57 print 'INVALID INPUT!'
60 if response
== 'Timeout':
62 elif response
[0] == 'A':
64 elif response
[0] == 'R':
66 elif response
[0] == 'SA':
71 print 'RESPONSE: '+data
72 conn
.send('{} {}'.format(len(data
), data
));
81 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
85 print 'S: {}'.format(seqnr
)
86 response
= sender
.sendInput('S', seqnr
, seqnr
)
89 print 'A: {}'.format(seqnr
)
90 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
93 print 'FA: {}'.format(seqnr
)
94 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
97 print 'F: {}'.format(seqnr
)
98 response
= sender
.sendInput("F", seqnr
, sender
.lastSeqReceived
+ 1)
101 print 'RP: {}'.format(seqnr
)
102 response
= sender
.sendInput("RP", seqnr
, 0)
105 if response
== 'Timeout':
106 print 'data: {} - TIMEOUT!'.format(data
)
107 conn
.send('TIMEOUT!\n')
108 elif response
[0] == 'A':
109 print 'data: {} - ACK!'.format(data
)
111 elif response
[0] == 'R':
112 print 'data: {} - RST!'.format(data
)
114 elif response
[0] == 'SA':
115 print 'data: {} - SYNACK!'.format(data
)
116 conn
.send('SYNACK!\n')
118 print 'data: {}'.format(data
)