The following steps provide the basic information required to create an SCP:
Initialize the DICOM DLL by calling DicomNet.Startup. This must be done before any DICOM Network Operations methods are called. Please note that this only needs to be called once for each application.
Create the DICOM Network object by instantiating the DicomNet class.
To listen for incoming connection requests, call DicomNet.Listen.
When an SCU wishes to connect to an SCP, the SCU calls DicomNet.Connect. This generates a call to the DicomNet.OnAccept method on the SCP, to let the SCP know that a connection request has been received.
The SCP should respond by creating a DICOM Network object and specifying this new object in a call to the DicomNet.Accept method. Creating an object for this specific connection allows the SCP to maintain information about the connection. Calling DicomNet.Accept will generate a call to DicomNet.OnConnect on the SCU. At this time the DICOM Network connection has been established. (An SCP should always accept a connection request. Once the connection is made the SCP can check the SCU and close the connection if it does not wish to maintain it. Since the connection requests are queued, if the connection is not accepted, it remains in the queue. When the next request is received, it is placed in the queue behind the first request. Calling DicomNet.Accept at this point will connect the first request, not the second, since the first request is still in the queue.)
Reset the newly created DICOM Associate object to an Associate Accept by calling DicomAssociate.Reset, or set the object using the following methods:
The DICOM Associate connection request can be accepted or rejected. To accept the Associate connection request, call DicomNet.SendAssociateAccept. This will generate a call to DicomNet.OnReceiveAssociateAccept on the SCU. At this time the DICOM Associate connection has been established. To reject the Associate connection request, call DicomNet.SendAssociateReject. This will generate a call to DicomNet.OnReceiveAssociateReject on the SCU.
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries