1 Commits

Author SHA1 Message Date
2692cbfa14 New bug in SubscriptionCreate 2024-12-24 15:19:20 +08:00
2 changed files with 21 additions and 7 deletions

BIN
myClient

Binary file not shown.

View File

@ -234,12 +234,13 @@ void readTest(long ConnectionHdl,u16 NodeHdlCount,long *NodeHdls,UA_Value *varia
UA_ReadRequest request;
UA_ReadRequest_init(&request);
request.nodesToRead = &item[0];
request.nodesToReadSize = NodeHdlCount;
request.nodesToReadSize = 1;
UA_ReadResponse response = UA_Client_Service_read(c, request);
retval = response.responseHeader.serviceResult;
if(retval == UA_STATUSCODE_GOOD)
{
printf("------------#3---------------\n");
printf("%d\n",response.resultsSize);
if(response.resultsSize==NodeHdlCount)
{
printf("------------#4---------------\n");
@ -247,12 +248,6 @@ void readTest(long ConnectionHdl,u16 NodeHdlCount,long *NodeHdls,UA_Value *varia
{
ErrorIDs[i]=response.results[i].status;
}
for (int i = 0; i < NodeHdlCount; i++)
{
printf("%d",ErrorIDs[i]);
printf("\n");
}
retval = 0 ;
for(i=0;i<NodeHdlCount;i++)
{
@ -323,6 +318,25 @@ void writeTest(long ConnectionHdl,u16 NodeHdlCount,long *NodeHdls,UA_Value *vari
return retval;
}
u32 SubscriptionCreate(long ConnectionHdl,bool PublishingEnable,u16 Priority,long *SubscriptionHdl,TIME *PublishingInterval){
UA_Client *c = (UA_Client*)ConnectionHdl;
UA_CreateSubscriptionRequest request = UA_CreateSubscriptionRequest_default();
request.requestedPublishingInterval=*PublishingInterval;
request.publishingEnabled=PublishingEnable;
request.priority=Priority;
UA_CreateSubscriptionResponse *response=malloc(sizeof(UA_CreateSubscriptionResponse));
*response = UA_Client_Subscriptions_create(c,request,NULL,NULL,NULL);
u32 retval=response[0].responseHeader.serviceResult;
if(retval!=UA_STATUSCODE_GOOD){
UA_CreateSubscriptionResponse_clear(&response[0]);
return retval;
}
printf("response[0].subscripstionId is %x\n",response[0].subscriptionId);
*SubscriptionHdl=(long *)response[0].subscriptionId;
UA_CreateSubscriptionResponse_clear(&response[0]);
return retval;
}
int main(int argc, char *argv[]) {
// long connecthdl;