Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

OPC XML-DA. There are many sockets open in subscription mode

More
22 Nov 2019 16:16 - 22 Nov 2019 16:16 #8007 by support
The HttpClientConnectionLimit is always applied to connection between Web service (HTTP), "internal" client on our side, and the server. There is no "per application total" limit or anything alike.

The connections described above are create per common rules used in QuickOPC - see opclabs.doc-that.com/files/onlinedocs/QuickOpc/Latest/User%2...e.html#Isolated%20Clients.html .

Let's say that you use all EasyDAClient objects with their default setting Isolated = false. In this case, even if you have multiple EasyDAClient instances, for the same ServerDescriptor (same server URL, mainly), one "internal" client will be created, and its connection limit will be taken from EasyDAClient.AdaptableParameters.HttpClientConnectionLimit .

If you, however, set Isolated = true on any EasyDAClient instance, it will use its own connection(s) to the targer server(s), and for each of these, the easyDAClient.IsolatedParameters.HttpClientConnectionLimit from that instance will apply.

So, to answer your question:

"That is, create 2 instances of EasyDAClient class and set the limit to 2 connections for the first instance, where 2nd instance has limit 20 connections?"

You would create two easyDAClient instances, set their Isolated = true, and set their easyDAClient.IsolatedParameters.HttpClientConnectionLimit to 2 and 20, respectively. But note that the limit is still per server descriptor. So, for example, if on the first instance you would work with 3 target servers, each of them will be limited to 2 - so that EasyDAClient instance would use max 2+2+2=6 HTTP connections.

Best regards
Last edit: 22 Nov 2019 16:16 by support.
The following user(s) said Thank You: Andriy

Please Log in or Create an account to join the conversation.

More
22 Nov 2019 13:42 #8004 by Andriy
Hello,

Can you clarify how the EasyDAClient.AdaptableParameters.HttpClientConnectionLimit works?
Does it restrict the number of HTTP client connections for each instance of EasyDAClient or it specifies total number per application?
How I can specify max number of HTTP client connections used in OPC XML-DA per EasyDAClient instance?
That is, create 2 instances of EasyDAClient class and set the limit to 2 connections for the first instance, where 2nd instance has limit 20 connections?

Thank you

Please Log in or Create an account to join the conversation.

More
25 Oct 2019 10:54 #7870 by support
Thank you.

It's kind of weird anyway, because as version 2019.1 does only support .NET 4.7+, it should be possible to even build it while targeting an older version. But it is possible
(?) that Visual Studio has picked an older QuickOPC version through NuGet in order to satisfy the dependency.

Best regards

Please Log in or Create an account to join the conversation.

More
25 Oct 2019 09:14 #7869 by Andriy
Hello,
I found out what the problem was. The test application target framework was .Net Framework 4.6.2.
The problem is resolved when upgrading to .Net Framework 4.7 version and reinstalling QuickOpc package from nuget

Thank you for assistance

Please Log in or Create an account to join the conversation.

More
25 Oct 2019 04:19 #7868 by support
Hello,
this looks like that the 500 items used has triggered a response from the server that is bigger than the (default) maximum size of a message.

is this still under .NET Framework? According to our developer, the call stack looks like from the assemblies we have for .NET Standard (which, in theory, can also be used from .NET Framework, but not by default).

It is an important distinction for us, because the low-level communication that implements OPC XML-DA must be done differently on these two platforms. So, we do not want to investigate in the wrong part.

Can you post your .csproj file here, or a snapshot of the Project Properties page in Visual Studio, or something similar that would allow us to determine this with certainty?

Thank you

Please Log in or Create an account to join the conversation.

More
24 Oct 2019 09:23 #7867 by Andriy
Hello,

I rebuilt my app with the latest QuickOPC (5.55.433)
EasyDAClient.AdaptableParameters.HttpClientConnectionLimit = 2
subscribe to 500 opc items

a few seconds later, I got an error through ItemChanged handler
Do you know how to fix it?

Best regards
Attachments:

Please Log in or Create an account to join the conversation.

More
15 Oct 2019 09:18 #7828 by support
Hello.
Please download and rebuild with the latest QuickOPC 2019.1, build 422.1 or later, as on our Web page and NuGet.

There is now a new setting for this, called HttpClientConnectionLimit, in EasyDAAdaptableParameters. Allows setting the maximum number of HTTP client connections used in OPC XML-DA. Works in .NET Framework. Works partially in .NET Core - only when authentication is not used.

Should be set just once, before the operations begin. If yours EasyDAClient.Isolated is 'false' (the default), the value from static EasyDAClient.AdaptableParameters.HttpClientConnectionLimit will be used. If yours EasyDAClient.Isolated is 'true', the value from that instance's EasyDAClient.IsolatedParameters.HttpClientConnectionLimit will be used.


The parameter defaults to 20, you can try changing it to 2 or so.

Best regards

Please Log in or Create an account to join the conversation.

More
11 Oct 2019 07:08 #7818 by Andriy

Please Log in or Create an account to join the conversation.

More
10 Oct 2019 14:45 #7817 by support
This is just to let you know that we are working on this - and other - issues you have reported. Please be patient... it will be coming.
Are you targeting .NET Framework or .NET Core?

Best regards

Please Log in or Create an account to join the conversation.

More
03 Oct 2019 13:43 #7793 by support
Thank you for splitting the thread. Link to the original thread: www.opclabs.com/forum/reading-writing-subscriptions-property...s-not-specify-a-timestamp#7787 .

I will reply here when I have more information.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.074 seconds