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
))
35 if data
== 'SUT-RESET':
36 print 'resetting the SUT...'
37 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
42 print 'S: {}'.format(seqnr
)
43 response
= sender
.sendInput('S', seqnr
, seqnr
)
46 if sender
.lastSeqReceived
!= None:
48 print 'A: {}'.format(seqnr
)
49 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
52 if sender
.lastSeqReceived
!= None:
54 print 'DAT: {} sending: a'.format(seqnr
)
55 response
= sender
.sendInput('PA', seqnr
, sender
.lastSeqReceived
+ 1, 'a')
58 if sender
.lastSeqReceived
!= None:
60 print 'RP: {}'.format(seqnr
)
61 response
= sender
.sendInput("RP", seqnr
, 0)
65 if sender
.lastSeqReceived
!= None:
67 print 'F: {}'.format(seqnr
)
68 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
70 print 'INVALID INPUT!'
73 if response
== 'Timeout':
75 elif response
[0] == 'A':
77 elif response
[0] == 'PA':
79 elif response
[0] == 'R':
81 elif response
[0] == 'SA':
86 print 'RESPONSE: '+data
87 conn
.send('{} {}'.format(len(data
), data
));
96 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
100 print 'S: {}'.format(seqnr
)
101 response
= sender
.sendInput('S', seqnr
, seqnr
)
104 print 'A: {}'.format(seqnr
)
105 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
106 if data
== 'FINACK?':
108 print 'FA: {}'.format(seqnr
)
109 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
112 print 'F: {}'.format(seqnr
)
113 response
= sender
.sendInput("F", seqnr
, sender
.lastSeqReceived
+ 1)
116 print 'RP: {}'.format(seqnr
)
117 response
= sender
.sendInput("RP", seqnr
, 0)
120 if response
== 'Timeout':
121 print 'data: {} - TIMEOUT!'.format(data
)
122 conn
.send('TIMEOUT!\n')
123 elif response
[0] == 'A':
124 print 'data: {} - ACK!'.format(data
)
126 elif response
[0] == 'R':
127 print 'data: {} - RST!'.format(data
)
129 elif response
[0] == 'SA':
130 print 'data: {} - SYNACK!'.format(data
)
131 conn
.send('SYNACK!\n')
133 print 'data: {}'.format(data
)