f6a09053ac50b53ccebbdc70d7679932e5c073fd
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 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
31 data
= conn
.recv(int(data
))
36 print 'S: {}'.format(seqnr
)
37 response
= sender
.sendInput('S', seqnr
, seqnr
)
40 print 'A: {}'.format(seqnr
)
41 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
44 print 'RP: {}'.format(seqnr
)
45 response
= sender
.sendInput("RP", seqnr
, 0)
49 print 'F: {}'.format(seqnr
)
50 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
52 print 'INVALID INPUT!'
55 if response
== 'Timeout':
57 elif response
[0] == 'A':
59 elif response
[0] == 'R':
61 elif response
[0] == 'SA':
66 print 'RESPONSE: '+data
67 conn
.send('{} {}'.format(len(data
), data
));
76 sender
= Sender(serverIP
="127.0.0.1", networkInterface
="lo", isLocal
=True, serverPort
=serverPort
, waitTime
=1, isVerbose
=0)
80 print 'S: {}'.format(seqnr
)
81 response
= sender
.sendInput('S', seqnr
, seqnr
)
84 print 'A: {}'.format(seqnr
)
85 response
= sender
.sendInput('A', seqnr
, sender
.lastSeqReceived
+ 1)
88 print 'FA: {}'.format(seqnr
)
89 response
= sender
.sendInput("FA", seqnr
, sender
.lastSeqReceived
+ 1)
92 print 'F: {}'.format(seqnr
)
93 response
= sender
.sendInput("F", seqnr
, sender
.lastSeqReceived
+ 1)
96 print 'RP: {}'.format(seqnr
)
97 response
= sender
.sendInput("RP", seqnr
, 0)
100 if response
== 'Timeout':
101 print 'data: {} - TIMEOUT!'.format(data
)
102 conn
.send('TIMEOUT!\n')
103 elif response
[0] == 'A':
104 print 'data: {} - ACK!'.format(data
)
106 elif response
[0] == 'R':
107 print 'data: {} - RST!'.format(data
)
109 elif response
[0] == 'SA':
110 print 'data: {} - SYNACK!'.format(data
)
111 conn
.send('SYNACK!\n')
113 print 'data: {}'.format(data
)