5
import win32com.client, pythoncom
10
class TestServer(Pyro.core.ObjBase):
12
threadid=threading.currentThread().ident
13
tls=self.getLocalStorage()
14
output="server: ping, tls=%s, threadid=%s, TLS threadid=%s\n" % (id(tls), threadid, tls.threadid)
15
sys.stdout.write(output)
17
if tls.threadid!=threadid:
18
sys.stdout.write("!!!!! ERROR: threadids aren't identical !!!!!\n")
21
threadid=threading.currentThread().ident
22
tls=self.getLocalStorage()
23
output="server: oneway, tls=%s, threadid=%s, TLS threadid=%s\n" % (id(tls), threadid, tls.threadid)
24
sys.stdout.write(output)
26
if tls.threadid!=threadid:
27
sys.stdout.write("!!!!! ERROR: threadids aren't identical !!!!!\n")
31
print "server: no com, doing nothing"
34
locator=win32com.client.Dispatch("WbemScripting.SwbemLocator")
35
top = locator.ConnectServer(".", r"\\.\root\cimv2")
36
users = top.InstancesOf("Win32_UserAccount")
44
threadid=threading.currentThread().ident
46
pythoncom.CoInitialize() # initialize COM for this thread
47
sys.stdout.write("server: initTLS, tls=%s, threadid=%s\n" % (id(tls),threadid))
51
daemon=Pyro.core.Daemon()
53
uri=daemon.connect(obj)
54
daemon.setInitTLS(initTLS)
56
print "server running"