Yes, at the moment, if a message isn’t delivered the first time then the response “Socket Timeout” will be stored as a message in the logs and the message will not be retried. We have some items on our roadmap right now to build in some automatic retrying of cloud messages which will address this issue.
For sending and receiving at the same time, our current SDK architecture isn’t robust enough to handle that easily, but we are going to be restructuring some things over the next few weeks that should make this all much smoother.
In the meantime I can suggest some workarounds. Can you say how you’re using the SDK? Are you using the CLI commands like
hologram modem connect or are you coding directly in python?