New question #145261 on Sikuli:
https://answers.launchpad.net/sikuli/+question/145261

Is there a reccomended way to synch multiple machines running Sikuli?

The scenario is as follows:

There are 2 machines (win7) executing a Sikuli script coded to respond when one 
machine sends a message to the other machine.  The problem is the machines can 
get out of sync relying on image recognition alone.

Pseudo state diagram below:

UserA -> launch -> login  -> Send Invite  ---->Accept invite message 
received--->  In chat conference
                                                           \/                   
              /\
UserB-> launch -> login---->Receive Invite- > Accept Invite In chat 
conference--> In chat conference

The down and up arrows in the center line are to indicate message traffic, user 
A sends an invite to user B which triggers a message displayed on userB's 
machine.  User B responds and accepts sending a response that displayays a 
message in user A's machine.  I will need to expand the amount of participants 
in thhe future to 4 active users.
Setting waits of FOREVER will not work since the traffic between users is not 
synchronous due to many externalities such as CPU speed,network conditions.  
The scenario where user A launches logs in and sends an invite before B is even 
finished launching the application.  In a loop this is compounded significantly.

I've tried having each machine "read" a common log file in .htm format ( read 
if check1 = true then execute next function else sleep1 #then loop the check) 
Problem is if the file is open for any reason the read fails and so does the 
script.

One alternative is to install a lighhtweight xmpp chat client and have the 
machines send messages that would be read with Sikuli.
while not exists(chatwindow1, ):
    testfunction()
When the condition is true the loop terminates and test function is executed

What I'd like to do is have the machines communicate directly and I'm not sure 
how to proceed.

XML-RPC?  Will I need to make all test machines their own server with their own 
client making calls?
Will making user A's machine as a server suffice?  Does this intergrate with 
Sikuli?

Thank you

-- 
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.

_______________________________________________
Mailing list: https://launchpad.net/~sikuli-driver
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~sikuli-driver
More help   : https://help.launchpad.net/ListHelp

Reply via email to