The learning curve has been from like zero to "something". I am still grasping for some fundamental knowledge that I need to fully "get" whats going on. Had to read documentation for sockets in C to understand anything at all. That says a lot. Coming from BufferedReader hell in Java and did never "get" Java nio.

Looking at the Splat library, it was crude, and I didn't like the fact that it was D1. So I converted it to D2. Happy now, it works. My plan is to implement splat in the background inside of my simple socket server library. At this moment I have made a simple parrot server that currently replaces my old server in echoserver.d. So a bit of testing going on there atm.

I have learned the pattern "one person that runs back and forth with a bucket and fills it up and dumps it accordingly for each socket" is actually very effective. This is not very different from how i have implemented my simple socket server, except in my version i spawned threads that communicated and waited directly on the sockets. The parent thread only accepts sockets, I had Socket.select(sset,null,null); that in effect allows my spawned threads to do anything they wish for. Think I'll replace the inner contents of my old simple server with splat code.

Any pointers to what I should do next? Vibed is not an option. I do not like the approach. To much hassle for same result. I thnk the main reason for not using Vibed is that it is tightly connected to a toolchain. I like to have software that is independent.

https://github.com/jarlah/d2-simple-socket-server

Reply via email to