I’m trying to run a DPWS-service on the Cobra.
As a start i tested the service in the emulator, which runs fine.
After trying to run the service at the cobra, it seems that the hello-discovery messages arent multicasted onto the network.
I did some step-through debugging with the 4.1PK sourcecodes, and came to the following point:
return NativeSocket.sendto(this, buffer, offset, size, (int)socketFlags, m_sendTimeout, address);
System.dll!System.Net.Sockets.Socket.SendTo(..) System.dll!System.Net.Sockets.Socket.SendTo(..) MFDpwsDevice.dll!Dpws.Device.Discovery.DpwsDiscoGreeting.SendGreetingMessage(..) MFDpwsDevice.dll!Dpws.Device.Device.Start(..) HelloWCFServer.exe!Dpws.Device.Program.Start() HelloWCFServer.exe!Dpws.Device.Program.Main(..)
the socket is not binded to any LocalEndpoint at this moment, and the remote-endpoint is given as a parameter ‘address’ : 126.96.36.199:3702 / default ws-discovery multicast address.
The emulator handles this situation fine, and i do see my messages multicasted onto the network. (verified with wireshark)
But the cobra apparently doenst since i don’t see any messages appear in wireshark.
Could it be that the nativesocket-implementation has to bind itself when it has no localEP specified, and that the cobra-implementation lacks this requirement?
I’m pretty sure there’s no networkdevice/router blocking the mutlicasts, since i do see discovery-multicast messages from other devices/wsservices in our network.