Shit, this is awful!
Totally agree with LondonLassInTheCountry.
"He's not DP's son but I see what you mean." Then I think, sadly, your dp is currently influencing your son more than you are, please do address this. Do not assume it is the way it has to be. It is always disappointing when our children do not act kindly, to some extent I do think we need to 'force' them to share (yes, I know it is not genuine sharing, but it sets the pattern).
"Everything I do is with them in mind- I do more or less everything for both of them and I honestly don't complain or act like they owe me anything at all. I like doing things to make life easier and more pleasant for them- even when I'm working I take on most things at home too."
Please stop doing this!
Do not allow them to treat you in this way.
You need to speak to them separately. There is no way your husband should have ordered for himself and ds only! He should have waited or ordered on your behalf, he must have an idea of what you eat.
I think your son just needs to know that his behaviour was very rude and you expect better from him. I would make some opportunity for sharing that are not too onerous for him (buying some chocs with him knowing that these will be to share etc). Gradually building up to him being able to share with it being less stress for him.
As far as your dh goes I would suggest you have a sit down and talk about his behaviour. Yes, he came to see you and try to get you to eat but he did not need to get into that position.
He later compounded the selfishness by initiating that unsatisfactory sexual encounter (knowing you were tired and upset!).
Make sure you show the things you appreciate about him but also that you would not expect this type of behaviour from a friend, or even an acquaintance, let alone a life partner!
You need to address what happened in bed. I would imagine most men would not like to know how poor their 'performance' was. If he genuinely is caring and kind sometimes, sexually and in other areas, do tell him this, and help him to see what you 'expect'.
Softkittysillykitty "Sorry to say though, your subsequent behaviour was childish OP. Why did it have to be so dramatic?" Maybe the OP felt she should not have to give them a second chance to do the right thing, if she had not been tired she may well have been willing to do that. IMHO It's not childish to accept people's bad behaviour - I agree it is not good to accept it but I would not say it was childish. She has not created this situation.
But in general I do agree, giving your son a choice, OP, to share in that situation was not helpful but your dh should have shown the way by sharing his food immediately too. There are families sharing their meager food supplies with each other all over the planet, the idea that they would allow you to go to bed hungry is really unpleasant.
Good luck.