yadyn/server/DynReceiver.py
2007-11-13 11:44:47 +01:00

27 lines
703 B
Python

import threading
import socket
import Queue
import time
import Event
from logger import Logger
class DynReceiver(threading.Thread):
def __init__(self, dynRecvAddr, queue):
threading.Thread.__init__(self)
self.dynRecvAddr = dynRecvAddr
self.queue = queue
self.setDaemon(True)
def run(self):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(self.dynRecvAddr)
while True:
data, address = s.recvfrom(256)
try:
self.queue.put_nowait(Event.Event(address, data, int(time.time())))
except Queue.Full:
Logger.log("Event %s from %s dropped" % (data, str(address)))