![]() |
|
#3
|
|||
|
|||
|
Hi,
A couple things to note:
I'd recommend looking into the Python Twisted library. It supports much more advanced networking features. However, you can perform a blocking handshake by manually updating the network events in a while loop. Here is a minimal example: Server code: Code:
import viz
import viznet
viz.go()
HANDSHAKE = viznet.id('ConnectHandshake')
viznet.server.start()
# Perform handshake with clients
def onStartClient(e):
viznet.server.sendClient(e.sender,HANDSHAKE)
viz.callback(viznet.CLIENT_CONNECT_EVENT,onStartClient)
Code:
import viz
import viznet
import vizact
viz.go()
SERVER = 'MASTER'
HANDSHAKE = viznet.id('ConnectHandshake')
def ConnectServer(server,timeout=2.0):
d = viz.Data(connected=False)
if viznet.client.connect(server):
def _handshake(e):
d.connected = True
cb = vizact.addCallback(HANDSHAKE,_handshake)
expire = viz.tick() + timeout
while not d.connected and viz.tick() < expire:
viz.waitTime(0.1)
viz.update(viz.UPDATE_NETWORK)
cb.remove()
return d.connected
if ConnectServer(SERVER):
print 'Connected'
else:
print 'Not Connected'
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Connection problems from MotionBuilder to PPT | nachac | Precision Position Tracker (PPT) | 2 | 07-27-2010 09:29 AM |
| problems nagivating around | ruby21 | Vizard | 2 | 05-18-2010 04:22 PM |
| Problems loading WRL file | DrunkenBrit | Vizard | 2 | 01-29-2009 01:58 AM |
| Problems Importing VRML Files | oscar | Vizard | 4 | 10-13-2004 06:42 PM |
| Problems with lighting in 2.0 | murm | Vizard | 6 | 04-21-2004 10:59 AM |