Esempio n. 1
0
    def listen(self):
        client = CCNxClient()
        tutorialPrefix = "lci:/tutorial/game"
        gameInfoName = "lci:/tutorial/game/info"
        playerConnectName = "lci:/tutorial/game/connect"
        playerInfoName = "lci:/tutorial/game/players"
        playerStateName = "lci:/tutorial/game/players/state"

        listening = client.listen(tutorialPrefix)
        while listening:
            name, data = client.receive()

            # Short circuits
            if name == None or data == None:
                continue
            if self.isDone:
                listening = False
                continue

            if name == gameInfoName:
                payload = {
                    "connect-url" : str(playerConnectName),
                    "board-size" : self.board.board_size(),
                    "player-url" : str(playerInfoName),
                    "state-url" : str(playerStateName)
                }
                payload = json.dumps(payload)
                client.reply(name, payload)
            if name == playerInfoName:
                payload = json.dumps(str(self.players))
                client.reply(name, payload)
            if playerStateName in name:
                payload = json.loads(data)
                player = payload["username"]
                shipNumber = payload["ship-number"]
                state = self.get_player_state(player, 0)
                payload = json.dumps(state)
                client.reply(name, payload)
            if playerConnectName in name:
                payload = json.loads(data)
                username = payload["username"]
                ipAddress = payload["ip"]
                port = int(payload["port"])
                teamplayer = int(payload["teamplayer"])
                numberOfShips = int(payload["number-of-ships"])

                payload = json.dumps({ "result" : "OK" })
                client.reply(name, payload)

                # Configure a link and route back to the client
                name, data = createAddLinkMessage(ipAddress, port, username)
                client.push(name, data)
                name, data = createAddRouteMessage("lci:/tutorial/" + username, username)
                client.push(name, data)

                self.add_player(username, numberOfShips, ipAddress, port, teamplayer)
                print >> sys.stderr, "Adding player: " + username
Esempio n. 2
0
    def run(self):
        client = CCNxClient()

        listening = client.listen(self.prefix)
        print "Lisening on %s" % (self.prefix)

        while listening:
            name, data = client.receive_raw()

            #@REMOVE
            schemaName = self.prefix + "/schema"
            if schemaName in str(name):
                client.reply(str(name), self.build_schema)
            else:
                url = "http://" + str(name[1].value)
                path = "/".join(map(lambda ns : str(ns.value), name[2:]))
                if len(path) > 0:
                    url = url + "/" + path

                print "Fetching %s" % (url)
                content = urllib2.urlopen(url).read()

                client.reply(str(name), content)
Esempio n. 3
0
 def __init__(self, root):
     self.root = root
     self.files = {}
     self.handles = {}
     self.descriptor_seq = 0
     self.client = CCNxClient()
Esempio n. 4
0
 def __init__(self, username):
     self.ccnxClient = CCNxClient()
     self.username = username
Esempio n. 5
0
stream_ids = tls.get_credentials_file()['stream_ids']
stream_id = stream_ids[0]

stream = Stream(token=stream_id, maxpoints=80)

dataTrace = Scatter(x=[], y=[], mode='lines+markers', stream=stream)

data = Data([dataTrace])
layout = Layout(title='Time Series')

fig = Figure(data=data, layout=layout)
unique_url = py.plot(fig, filename='CCNxIOT-Collector')

s = py.Stream(stream_id)
s.open()

client = CCNxClient()
client.listen("lci:/tutorial/iot/collector")
while True:
    try:
        name, data = client.receive()
        print name, data
        y = int(name.split("/")[-1])
        x = datetime.datetime.now()
        s.write(dict(x=x, y=y))
        print "writing %s" % (str(dict(x=x, y=y)))
        client.reply(name, "OK")
    except:
        pass
s.close()
Esempio n. 6
0
 def __init__(self, prefix):
     self.client = CCNxClient()
     self.prefix = prefix
     if len(prefix) == 0:
         self.prefix = "lci:/gateway"
Esempio n. 7
0
def main(uris):
    fail_fast()
    client = CCNxClient()
    for uri in uris:
        data = client.get(uri, "")
        print data