锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲激情视频网,黄色大片在线播放,毛片网站在线看http://www.aygfsteel.com/cooperzh/category/50551.htmlzh-cnThu, 05 Jan 2012 16:04:37 GMTThu, 05 Jan 2012 16:04:37 GMT60銆妀ava瑙f儜銆嬨傘傘?/title><link>http://www.aygfsteel.com/cooperzh/archive/2012/01/05/java_puzzlers.html</link><dc:creator>cooperzh</dc:creator><author>cooperzh</author><pubDate>Thu, 05 Jan 2012 15:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/cooperzh/archive/2012/01/05/java_puzzlers.html</guid><description><![CDATA[<br />19 鍧楁敞閲?/*  */)涓嶈兘鍙潬鐨勬敞閲婃帀浠g爜鍧楋紝搴旂敤鍗曡娉ㄩ噴絎?/<img src ="http://www.aygfsteel.com/cooperzh/aggbug/367973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/cooperzh/" target="_blank">cooperzh</a> 2012-01-05 23:35 <a href="http://www.aygfsteel.com/cooperzh/archive/2012/01/05/java_puzzlers.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆婃瀯寤洪珮鎬ц兘鐨勫ぇ鍨嬪垎甯冨紡Java搴旂敤銆嬬瑪璁?絎竴绔?IOhttp://www.aygfsteel.com/cooperzh/archive/2011/12/27/367323.htmlcooperzhcooperzhTue, 27 Dec 2011 03:50:00 GMThttp://www.aygfsteel.com/cooperzh/archive/2011/12/27/367323.html (寮傛璇誨啓asynchronous IO)

jdk1.6鍙婁箣鍓嶉兘鍙疄鐜癇IO 鍜?NIO
jdk1.7寮濮嬫敮鎸丄IO錛屽嵆NIO 2.0


鍦˙IO闃誨妯″紡涓媠erver绔?
1 new ServerSocket(int port) 鐩戝惉绔彛
2 serverSocket.accept() 闃誨寮忕瓑寰呭鎴風鐨勮繛鎺ワ紝鏈夎繛鎺ユ墠榪斿洖Socket瀵硅薄
3 socket.getINputStream() 鑾峰彇瀹㈡埛绔彂榪囨潵鐨勪俊鎭祦
4 socket.getOutputStream() 鑾峰彇杈撳嚭嫻佸璞★紝浠庤屽啓鍏ユ暟鎹繑鍥炲鎴風

client绔細
1 newSocket錛圫tring host,int port) 寤虹珛涓庢湇鍔″櫒绔殑榪炴帴錛屽鏋滄湇鍔″櫒娌″惎鍔紝鎶onnection refused寮傚父
2 socket.getInputStream() 璇誨彇鏈嶅姟鍣ㄧ榪斿洖鐨勬祦
3 socket.getOutputStream() 鑾峰彇杈撳嚭嫻侊紝鍐欏叆鏁版嵁鍙戦佸埌鏈嶅姟鍣ㄧ


鍦∟IO妯″紡涓婼erver绔細
1 ServerSocketChannel.open() 鑾峰彇serverScoketChannel瀹炰緥
2 serverScoketChannel.configueBlocking(false) 璁劇疆channel涓洪潪闃誨妯″紡
3 serverSocketChannel.socket() 鑾峰彇serverSocket瀵硅薄
4 serverSocket.bind(port) 鐩戝惉绔彛
5 Selector.open() 鎵撳紑Selector錛岃幏鍙杝elector瀹炰緥
6 serverSocketChannel.register(Selector,int) 鍚憇elector娉ㄥ唽channel鍜屾劅鍏磋叮鐨勪簨浠?/span>
7 while(true) 寰幆浠ヤ繚璇佹甯告儏鍐典笅鏈嶅姟鍣ㄧ涓鐩村浜庤繍琛岀姸鎬?/span>
8 selector.select() 鑾峰彇selector瀹炰緥涓渶瑕佸鐞嗙殑SelectionKey鐨勬暟閲?/span>
9 for(SelectionKey key:selector.selectedKeys()) 閬嶅巻selector.selectedKeys,浠ュ姣忎釜SelectionKey鐨勪簨浠惰繘琛屽鐞?/span>
10 key.isAcceptable() 鍒ゆ柇SelectionKey鐨勭被鍨嬫槸鍚︿負瀹㈡埛绔緩绔嬭繛鎺ョ殑綾誨瀷
11 key.channel() 褰揝electionKey鐨勭被鍨嬫槸acceptabel鏃訛紝鑾峰彇緇戝畾鐨凷erverSocketChannel瀵硅薄
12 serverSocketChannel.accept() 鎺ュ彈瀹㈡埛绔緩绔嬭繛鎺ョ殑璇鋒眰錛屽茍榪斿洖SocketChannel瀵硅薄
13 socketChannel.regiseter(Selector,int) 鍚慡elector娉ㄥ唽鎰熷叴瓚g殑浜嬩歡綾誨瀷錛屽read,write
14 key.isReadable() 鍒ゆ柇SelectionKey鏄惁涓簉eadable錛屽鏄垯鎰忓懗鐫鏈夋秷鎭祦鍦ㄧ瓑寰呭鐞?/span>
15 socketChannel.read(ByteBuffer) 浠嶴electionKey涓粦瀹氱殑SocketChannel瀵硅薄璇誨彇娑堟伅嫻?/span>
16 socketChannel.write(ByteBuffer) 浠嶴electionKey涓粦瀹氱殑SocketChannel瀵硅薄杈撳嚭娑堟伅嫻?/span>

client绔細
1 SocketChannel.open() 鎵撳紑SocketChannel
2 SocketChannel.configureBlocking(false) 灝哠ocketChannel閰嶇疆涓洪潪闃誨妯″紡
3 SocketChannel.connect(host,port) 榪炴帴鍒版寚瀹氱殑鐩爣鍦板潃
4 Selector.open() 鎵撳紑Selector
5 SocketChannel.register(Selector,int) 鍚慡elector娉ㄥ唽鎰熷叴瓚g殑浜嬩歡,connected,read,write
6 while(true) 寰幆鎵ц淇濊瘉瀹㈡埛绔竴鐩村浜庤繍琛岀姸鎬?/span>
7 Selector.select() 浠嶴elector涓幏鍙栨槸鍚︽湁鍙鐨刱ey淇℃伅
8 for(SelectionKey key:selector.selectedKeys()) 閬嶅巻selector涓墍鏈塻electedKeys
9 SelectionKey.isConnectable() 鍒ゆ柇鏄惁涓鴻繛鎺ュ緩绔嬬殑綾誨瀷
10 SelectionKey.channel() 鑾峰彇緇戝畾鐨凷ocketChannel
11 SocketChannel.finishConnect() 瀹屾垚榪炴帴鐨勫緩绔嬶紙TCP/IP鐨勪笁嬈℃彙鎵嬶級
12 SelectionKey.isReadable() 鍒ゆ柇鏄惁涓哄彲璇葷被鍨?/span>
13 SelectionKey.channel() 鑾峰彇緇戝畾鐨凷ocketChannel
14 SocketChannel.read(ByteBuffer) 浠嶴ocketChannel涓鍙栨暟鍒癇yteBuffer涓?/span>
15 SocketChannel.write(ByteBuffer) 鍚慡ocketChannel涓啓鍏yteBuffer瀵硅薄鏁版嵁


cooperzh 2011-12-27 11:50 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 洪泽县| 台湾省| 衡水市| 长兴县| 巫山县| 宕昌县| 会泽县| 冀州市| 尉氏县| 湘潭县| 渝中区| 大邑县| 肇庆市| 普宁市| 尉氏县| 蛟河市| 开化县| 化德县| 伊宁市| 仪陇县| 辉县市| 泽州县| 探索| 保康县| 枣强县| 钟山县| 扎赉特旗| 车致| 长葛市| 商洛市| 莱州市| 湟源县| 河曲县| 珠海市| 丰原市| 伽师县| 古交市| 山西省| 平潭县| 东海县| 永春县|