Hello everyone Can someone help me fix this problem? I am using an example from Pyro(Python Remote Object) website directly. It is the last example from http://pyro.sourceforge.net/manual/8-example.htm
I have two computers to run Server and Client. ############################################ server.py import Pyro.naming import Pyro.core from Pyro.errors import PyroError,NamingError ###### testclass Pyro object class testclass(Pyro.core.ObjBase): def mul(s, arg1, arg2): return arg1*arg2 def add(s, arg1, arg2): return arg1+arg2 def sub(s, arg1, arg2): return arg1-arg2 def div(s, arg1, arg2): return arg1/arg2 ###### main server program def main(): Pyro.core.initServer() daemon = Pyro.core.Daemon() # locate the NS locator = Pyro.naming.NameServerLocator() print 'searching for Name Server...' ns = locator.getNS(host='drizzle.des.hep.uiuc.edu', port=9090) daemon.useNameServer(ns) # connect a new object implementation (first unregister previous one) try: # 'test' is the name by which our object will be known to the outside world ns.unregister('test') except NamingError: pass # connect new object implementation daemon.connect(testclass(),'test') # enter the server loop. print 'Server object "test" ready.' daemon.requestLoop() if __name__=="__main__": main() ################################### ################################### client.py import Pyro.naming, Pyro.core from Pyro.errors import NamingError # locate the NS locator = Pyro.naming.NameServerLocator() print 'Searching Name Server...', ns = locator.getNS(host='drizzle.des.hep.uiuc.edu',port=9090) # resolve the Pyro object print 'finding object' try: URI=ns.resolve('test') print 'URI:',URI except NamingError,x: print 'Couldn\'t find object, name server says:',x raise SystemExit # create a proxy for the Pyro object, and return that test = Pyro.core.getProxyForURI(URI) print test.mul(111,9) print test.add(100,222) print test.sub(222,100) print test.div(2.0,9.0) print test.mul('*',10) print test.add('String1','String2') ####################################### It does not matter which computer Pyro NameServer is located. When Server and Client are in a same computer, it works perfectly fine. But whenever Server and Client run in different computers, I get a following error message. ######################################## Pyro Client Initialized. Using Pyro V3.7 Searching Name Server... finding object URI: PYRO://127.0.0.1:7888/7f000001193649ab6a89d5592bc843bb Traceback (most recent call last): File "client.py", line 22, in <module> print test.mul(111,9) File "/usr/local/lib/python2.5/site-packages/Pyro/core.py", line 390, in __call__ return self.__send(self.__name, args, kwargs) File "/usr/local/lib/python2.5/site-packages/Pyro/core.py", line 467, in _invokePYRO self.adapter.bindToURI(self.URI) File "/usr/local/lib/python2.5/site-packages/Pyro/protocol.py", line 255, in bindToURI raise ProtocolError('connection failed') Pyro.errors.ProtocolError: connection failed ######################################## Thanks a lot. -- http://mail.python.org/mailman/listinfo/python-list