These are less than 100% behavior accurate, and the "flags" and "to" field are ignored, but this should work with 90% of the send/recv code out there. I'll probably have something on "addr" and "peeraddr" in a few weeks, but this is much lower priority for me.
I tested this by building a simple smtp server which works in jruby and ruby unaltered. I didn't run any of the unit tests you guys have as funcSocket.rb (or whatever it's called) bailed on vanilla JRuby 0.8.2. Of course it didn't work on my modified jruby either ;-) Let me know what you think, Evan P.S. I didn't mess with copywrite notices (other than to copy-paste to the new file I created). Feel free to change these according to whatever your policy is.
jruby-0.8.2-send-recv.patch
Description: Binary data
