Enet4 / dicom-rs

Rust implementation of the DICOM standard
https://dicom-rs.github.io
Apache License 2.0
414 stars 82 forks source link

ul::client TcpStream hangs after .send() #306

Closed jmlaka closed 1 year ago

jmlaka commented 1 year ago

Hello, I've been playing with the findscu , sending requests to Orthanc but noticed, that C-Find fails. Orthanc responds with: Find SCP Failed: DIMSE Failed to receive a message This seems to happen when the ClientAssociation.send() sends the C-FIND dataset successfully and findscu calls the first .read() inside the loop, reader::read_pdu().

Tweaking with some TcpStream properties didn't change anything.

I've been using the ServerAssociaton for my own C-FIND SCP for quite some time and never had problems with the reader.

Any thoughts on this please ? Any guidance for diagnostics ? Thanks

Enet4 commented 1 year ago

Hello! I would start by collecting and providing details about how the CLI tool was used, then the query performed by the SCU, then the exact PDU that was sent to the SCP. A TCP packet capture tool could do this, but we can also infer this once the exact SCU details are known.

Admittedly, the current state of the find SCU is a bit experimental. It was mostly tested on one PACS archive for the time being.

jmlaka commented 1 year ago

Found it, was just a typo .... see PR please

Enet4 commented 1 year ago

Assuming fixed via #307