====== Java Sockets ====== One thread per connection? Synchrone I/O, Single connection per thread Problems: * Synchronisation * Limited Scaling Asynchrone I/O, Single thread per server * I/O Event based * CPU limitiert ===== Java NIO ===== * Server wird benachrichtigt, wenn ein I/O Event verarbeitet werden kann * Zustand der Kommunikation zum Client muss gespeichert sein * Pools von threads die verschiedene Ebenen behandeln * Mehrere back-end Kommunikationsthreads * Worker-Threads * DB-Threads Nach http://rox-xmlrpc.sourceforge.net/niotut/ Single selecting Thread verwenden: Input/Output in selecting Thread behandeln, Writes queuen, Channels lesen und Daten in Worker thread lesen. NIO vs. IO (asynchronous vs. synchronous)