-
Notifications
You must be signed in to change notification settings - Fork 0
/
lab4ConnectTest5Host.py
85 lines (67 loc) · 2.22 KB
/
lab4ConnectTest5Host.py
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
from mysocket import *
from sim import *
from myOs import *
from fileToString import fileToString
import datetime
strFile = fileToString('junk.txt')
################################################################
# Client Application:
# This app will send the server a file.
################################################################
class client():
def __init__(self, wait=None):
self.startTime = wait
def ready(self, t, socket):
socket.scheduler.log.write(str(t) + " Client Send File: " + socket.strAddress() + "\n")
socket.send(strFile, self.startTime)
def doneSending(self, t, socket):
socket.scheduler.log.write(str(t) + " " + str(socket.address) + " " + str(socket.remoteAdPt) + " Client Done Sending. Initiate Close.\n")
#socket.close()
def receviedData(self, t, data):
print "Client Recieved: ", data
return
################################################################
# Main
################################################################
if __name__ == '__main__':
s = Scheduler()
# Set up Network
n = Node('125.225.53.1', s)
n2 = Node('125.225.53.2', s)
l = Link(s, 1000000/8.0, 1000, 100000, 20)
l.setDstNode(n2)
l.setSrcNode(n)
n.addLink(l, n2.ip)
l2 = Link(s, 1000000/8.0, 1000, 100000, 20)
l2.setDstNode(n)
l2.setSrcNode(n2)
n2.addLink(l2, n.ip)
os = OS(s, n)
n.linkOs(os)
#Client
#0
socket = os.socket(AF_INET, SOCK_STREAM)
socket.registerApp(client())
socket.connect('125.225.53.2', 80)
#1
socket = os.socket(AF_INET, SOCK_STREAM)
socket.registerApp(client(.1))
socket.connect('125.225.53.2', 80)
#2
socket = os.socket(AF_INET, SOCK_STREAM)
socket.registerApp(client(.2))
socket.connect('125.225.53.2', 80)
#3
socket = os.socket(AF_INET, SOCK_STREAM)
socket.registerApp(client(.3))
socket.connect('125.225.53.2', 80)
#4
socket = os.socket(AF_INET, SOCK_STREAM)
socket.registerApp(client(.4))
socket.connect('125.225.53.2', 80)
os2 = OS(s, n2)
n2.linkOs(os2)
#Server
socket2 = os2.socket(AF_INET, SOCK_STREAM)
socket2.bind('125.225.53.2', 80)
s.run()