Progress Update: 2014-12-03
The Prototype
So I’ve started to build my prototype, which is able to accept incoming connections and understand a couple of basic commands. One thing I didn’t anticipate is that the spec for the IRC protocol is somewhat confusing, having checked both RFC 1459 and the newer RFC 2812, and also using wireshark to snoop some live data, I found that actually I need to handle users and nicks from the very beginning, as the first two commands the client will usually send are USER
and NICK
, both of which need to have a proper response for the client to recognize the connection.
Next Steps
The next thing I need to do for this prototype is to properly handle the initial USER
and NICK
commands the client will send, and to also handle client-requested PING
commands, to keep the connection open.
I can then add a single channel to the server and then work on the message broadcasting.
Once that is done I can start to think about using what I’ve learnt from this prototype in a more maintainable version with more features.