Hello is there a way to disable XML-RPC multicall (system.multicall) in control manager?
used functions are:
(#uses "CtrlXmlRpc")
xmlrpcClient();
xmlrpcConnectToServer(id, host, port, secure);
xmlrpcCall(id, xmlRpcMethod, args, res);
xmlrpcCloseServer(id);
We have control manager that uses dpQueryConnectSingle(...)
This manager communicates with third party devices and software using XML-RPC.
In some cases XML-RPC multicall is generated form WinCCOA even each XML-RPC call is made in different thread.
Best regards,
Vedad
How to disable XML-RPC multicall
- leoknipp
- Posts:2928
- Joined: Tue Aug 24, 2010 7:28 pm
Re: How to disable XML-RPC multicall
Hello,
can you please describe in detail what is meant with "multicall".
Does it mean that the function xmlrpcCall() is started several times (even if the first call was not finished)?
Best Regards
Leopold Knipp
Senior Support Specialist
can you please describe in detail what is meant with "multicall".
Does it mean that the function xmlrpcCall() is started several times (even if the first call was not finished)?
Best Regards
Leopold Knipp
Senior Support Specialist
- e_hagenaar
- Posts:2
- Joined: Fri Sep 01, 2017 2:43 pm
Re: How to disable XML-RPC multicall
Did you find a solution? because i have the same issue.
Best regards,
Erik-Jan
Vedad Ramovic wrote:
Best regards,
Erik-Jan
Vedad Ramovic wrote:
Hello is there a way to disable XML-RPC multicall (system.multicall) in control manager?
used functions are:
(#uses "CtrlXmlRpc")
xmlrpcClient();
xmlrpcConnectToServer(id, host, port, secure);
xmlrpcCall(id, xmlRpcMethod, args, res);
xmlrpcCloseServer(id);
We have control manager that uses dpQueryConnectSingle(...)
This manager communicates with third party devices and software using XML-RPC.
In some cases XML-RPC multicall is generated form WinCCOA even each XML-RPC call is made in different thread.
Best regards,
Vedad
- vedadramovic
- Posts:121
- Joined: Mon Apr 07, 2014 10:36 am
Re: How to disable XML-RPC multicall
Hello Erik-Jan,
yes.
When you call function xmlrpcConnectToServer() make sure to use different "id" as a parameter in every call. When you use the same "id" procedure thinks that it is meant for the same device, so it is making one connection with multiple XML-RPC calls.
Example.
string id = rand();
xmlrpcConnectToServer(id, host, port, secure);
Best regards,
Vedad
yes.
When you call function xmlrpcConnectToServer() make sure to use different "id" as a parameter in every call. When you use the same "id" procedure thinks that it is meant for the same device, so it is making one connection with multiple XML-RPC calls.
Example.
string id = rand();
xmlrpcConnectToServer(id, host, port, secure);
Best regards,
Vedad
- e_hagenaar
- Posts:2
- Joined: Fri Sep 01, 2017 2:43 pm
Re: How to disable XML-RPC multicall
Hello Vedad,
Thank you very much! I used the getCurrentTime() but when the calls a made at more or less the same moment the id is the same and you get the multicall.....
Best regards,
Erik-Jan
Vedad Ramovic wrote:
Thank you very much! I used the getCurrentTime() but when the calls a made at more or less the same moment the id is the same and you get the multicall.....
Best regards,
Erik-Jan
Vedad Ramovic wrote:
Hello Erik-Jan,
yes.
When you call function xmlrpcConnectToServer() make sure to use different "id" as a parameter in every call. When you use the same "id" procedure thinks that it is meant for the same device, so it is making one connection with multiple XML-RPC calls.
Example.
string id = rand();
xmlrpcConnectToServer(id, host, port, secure);
Best regards,
Vedad
- fmulder
- Posts:330
- Joined: Wed Feb 03, 2010 9:46 am
Re: How to disable XML-RPC multicall
Never(!) use rand() or getCurrentTime() as a unique id. rand() may eventually give the same number (although the chance is very small) and getCurrentTime() will give the same result when your application is too fast. Simply use a global integer that you increment every time.
share the fun
Frenk Mulder
Code: Select all
global int g_iUnique = 0;
int iMyId = g_iUnique++;Frenk Mulder