Post on 09-Feb-2017
1
(MSQL@NAVER.COM) 2015. 11. 07
Network Netty .
1. Netty.io Netty?
netty .
Netty asynchronous,
event-driven .
Netty
.
2
1. Netty.io Netty?
Netty ?
Netty homepage .
http://netty.io3
1. Netty.io4
1. Netty.io netty asynchronous event-driven network application framework .
asynchronous event-driven .5
1. Netty.io asynchronous, synchronous .
6
1. Netty.io asynchronous, synchronous .
7
1. Netty.io
synchronous : /
asynchronous : /
8
1. Netty.io synchronous
.
1) ,
2)
3) .
,
.
! / .9
1. Netty.io asynchronous
.
1)
2)
3) .
, .
, .
.
/ .10
1. Netty.io ,
?
.
,
.
11
1. Netty.io ,
.
,
, .
.
,
.
12
1. Netty.io
.
13
1. Netty.io synchronous,
asynchronous .
,
.14
1. Netty.io synchronous .
AJAX asynchronous
.
AJAX asynchronous JavaScript and XML .
15
1. Netty.io synchronous form submit ,
, .16
,
1. Netty.io asynchronous
.
.17
1. Netty.io ?
h , javascript .
18
1. Netty.io synchronous ,
, asynchronous ,
.
19
1. Netty.io blocking, non-blocking .
java code ,
code .20
1. Netty.io .
// ..21
1. Netty.io .
22
1. Netty.io
23
1. Netty.io 8888 ,
Hello, world! .
- OS telnet
.
> telnet localhost 8888
24
1. Netty.io telnet ,
Hello, world! .
console ,
before accept
after accept
before accept .
25
1. Netty.io Socket socket = serverSocket.accept();
.
(blocking) .26
1. Netty.io27
http://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html
1. Netty.io28http://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html
,
ServerSocket . (wait)
ServerSocket .
1. Netty.io- (blocking) .
.
,
,
CPU
.29
1. Netty.io .
// ..30
1. Netty.io .
31
1. Netty.io
32
1. Netty.io 8888 ,
Hello, world! .
- OS
telnet .
> telnet localhost 8888
33
1. Netty.io telnet ,
Hello, world! .
console ,
before accept
after accept
before accept .
34
1. Netty.io SocketChannel socketChannel =
serverSocketChannel.accept();
.
(blocking) .35
1. Netty.io .
serverSocketChannel.configureBlocking(false);36
1. Netty.io
37
1. Netty.io telnet
Hello, world! .
console ,
before accept, after accept
. , .
38
1. Netty.io SocketChannel socketChannel =
serverSocketChannel.accept();
.
(non-blocking) .39
1. Netty.io40http://docs.oracle.com/javase/7/docs/api/java/nio/channels/ServerSocketChannel.html
1. Netty.io41http://docs.oracle.com/javase/7/docs/api/java/nio/channels/ServerSocketChannel.html
1. Netty.io42http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/AbstractSelectableChannel.html#configureBlocking(boolean)
1. Netty.io43http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/AbstractSelectableChannel.html#configureBlocking(boolean)
1. Netty.io- (non-blocking) ,
.
,
.
netty
!!44
1. Netty.io
event-driven .
event-driven UI ,
.45
1. Netty.io46
.
,
.
1. Netty.io47
-
1. Netty.io48
Click Event .
Click Event
Event Click Event
1. Netty.io49
, ,
,
.
1. Netty.io50
.
1)
2) 8888
3) (accept)
4) (write)
5)
,
.
1. Netty.io netty .
netty ?
,
Netty network .
Netty .
51
1. Netty.io ! ! ! .
.
Netty Network .
52
http://book.naver.com/bookdb/book_detail.nhn?bid=9608322 2 .Netty .53
! .