Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.21
Diagram of an SCU-SCP Set-Up

The diagram given below shows a simple example of an SCU-SCP connection and a series of method calls used to transfer messages and data.

SCU

SCP

DicomNet.Startup

Initialize the DICOM DLL. This must be done before calling any DICOM Network Operations methods, but only needs to be done once per application.

DicomNet.Startup

DicomNet.DicomNet

Create a DICOM Network object.

DicomNet.DicomNet

The SCP listens for incoming connection requests.

DicomNet.Listen

DicomNet.Connect

------------------------------------------>
The SCU calls this method to connect to an SCP. This generates a call to this method on the SCP.

DicomNet.OnAccept

DicomNet.OnConnect

<------------------------------------------
The SCP creates a DICOM Network object for each connection it accepts. This allows the SCP to store information about this specific connection. DicomNet.Accept is called to accept the connection. This generates a call to this method on the SCU.

DicomNet.DicomNet

DicomNet.Accept

DICOM Network Connection established.

DicomNet.SendAssociateRequest

------------------------------------------>
The SCU calls this method to request a DICOM Associate connection. This generates calls to these methods on the SCP.

DicomNet.OnReceive

DicomNet.OnReceiveAssociateRequest

DicomNet.OnReceive
DicomNet.OnReceiveAssociateAccept
or
DicomNet.OnReceive
DicomNet.OnReceiveAssociateReject

<------------------------------------------
The SCP calls DicomNet.SendAssociateAccept to accept the DICOM Associate connection. This generates calls to DicomNet.OnReceive and DicomNet.OnReceiveAssociateAccept on the SCU. DicomNet.SendAssociateReject is sent to reject the DICOM Associate connection. This generates calls to DicomNet.OnReceive and DicomNet.OnReceiveAssociateReject on the SCU.

DicomNet.SendAssociateAccept
or
DicomNet.SendAssociateReject

DICOM Associate Connection established.

DicomNet.SendCStoreRequest

------------------------------------------>
The SCU calls this method to request the storage of data. This generates calls to these methods on the SCP.

DicomNet.OnReceive
DicomNet.OnReceiveData
DicomNet.OnReceiveCStoreRequest

DicomNet.OnReceive
DicomNet.OnReceiveData
DicomNet.OnReceiveCStoreResponse

<------------------------------------------
The SCP calls this method to respond to the storage request. This generates calls to these methods on the SCU.

DicomNet.SendCStoreResponse

DicomNet.SendReleaseRequest
or
DicomNet.SendAbort

------------------------------------------>
The SCU calls DicomNet.SendReleaseRequest to request a release from the DICOM Associate connection. This generates calls to DicomNet.OnReceive and DicomNet.OnReceiveReleaseRequest on the SCP. This is the preferred way of closing a connection. DicomNet.SendAbort can also be called to close a connection. This generates calls to DicomNet.OnReceive and DicomNet.OnReceiveAbort on the SCP.

DicomNet.OnReceive
DicomNet.OnReceiveReleaseRequest
or
DicomNet.OnReceive
DicomNet.OnReceiveAbort

DicomNet.OnReceive
DicomNet.OnReceiveReleaseResponse

<------------------------------------------
The SCP calls this method to respond to the release request. This generates calls to the following methods on the SCU.

DicomNet.SendReleaseResponse

DicomNet.Close

------------------------------------------>
The SCU calls this method to close the DICOM Associate connection. This generates a call to this method on the SCP.

DicomNet.OnClose

DicomNet.Shutdown

When the DICOM DLL is no longer needed, call this method to shut down the DLL and free all associated memory. This method should be called once for every call to DicomNet.Startup.

DicomNet.Shutdown