55 lines
1.3 KiB
Python
Executable File
55 lines
1.3 KiB
Python
Executable File
#! /usr/bin/python
|
|
from socket import *
|
|
from select import select
|
|
import sys
|
|
from datetime import datetime
|
|
def log (msg):
|
|
"""
|
|
Print message if in verbose mode.
|
|
"""
|
|
file = open ("log.txt", "a")
|
|
dt = datetime.now ()
|
|
file.write ("%4d-%02d-%02d %02d:%02d:%02d.%06d: " %(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond))
|
|
file.write (msg + "\n")
|
|
file.close ()
|
|
|
|
if __name__ == "__main__":
|
|
|
|
s = socket(AF_INET, SOCK_STREAM)
|
|
s.setsockopt (SOL_SOCKET, SO_REUSEADDR, 1)
|
|
print "got Socket", s
|
|
s.bind(("192.168.11.19", 2006))
|
|
s.listen (1)
|
|
# Select free sockets for transmission
|
|
read = [s]
|
|
writes = []
|
|
bQuit = 0
|
|
while 1:
|
|
(reads, writes, xlist) = select (read, writes, [], 0.1)
|
|
|
|
# First write all remaining messages
|
|
for conn in writes:
|
|
if bQuit:
|
|
conn.send ('LVTRSTAT'+ chr (0) + chr (0))
|
|
writes = []
|
|
bQuit = 0
|
|
|
|
# Then read all remaining messages from ready sockets
|
|
for conn in reads:
|
|
print conn
|
|
if conn == s:
|
|
try:
|
|
print "Connected"
|
|
c, client = conn.accept ()
|
|
read.append (c)
|
|
print read
|
|
except:
|
|
print ("No Connection")
|
|
|
|
else:
|
|
data = conn.recv (16384)
|
|
if data:
|
|
writes = [conn]
|
|
print (data)
|
|
bQuit = 1
|