On 14 February 2012 18:00, Pedro Lacerda <pslace...@gmail.com> wrote: > How would you chat with a server? This is my naive attempt: > > class Client { > Socket socket; > > Token fetch() { > ubyte[1024] buffer; // if more space is needed... > socket.receive(buffer); > return decode(buffer); > } > > void send(Token tkn) { > ubyte[] buffer = encode(tkn); > socket.send(buffer); > } > } > > It can send and fetch data (encoded tokens) to/from server. But frequently I > see network clients using a connection pool or an event loop. I descarted > event loops because they looks hard to implement (and libev docs don't let > me anywhere). > > Do you can guide me on this trouble? > > Pedro Lacerda >
With a client, your way is probably fine, assuming that you have a reasonable amount of control over the data flow. The advantage of event-based systems is that you can be waiting for data from the server and for user input at the same time, meaning that a slow server doesn't break your client or render it unusable. If the code works for you, then its probably fine. James Miller