1. 程式人生 > 其它 >JavaSE:網路程式設計收發資訊

JavaSE:網路程式設計收發資訊

<1>客戶端

 1 import java.io.IOExcepiton;
 2 
 3 import java.net.InetSocketAddress;
 4 
 5 import java.nio.ByteBuffer;
 6 
 7 import java.nio.channels.SocketChannel;
 8 
 9 
10 
11 public class Demo客戶端 {
12 
13   main() throws IOException {
14 
15 
16 
17     // 建立客戶端
18     SocketcChannel sc = SocketChannel.open();
19 20 21     // 指定要連線的伺服器ip和埠 22     sc.connect(new InetSocketAddress("127.0.0.1",9000)); 23 24 25     // 建立緩衝輸出 26     ByteBuffer buffer = ByteBuffer.allocate(1024); 27 28      29 30     // 給陣列新增資料 31 32     buffer.put("哈哈哈".getBytes()); 33 34 35 36     // 切換 37 38     buffer.flip(); 39 40 41 42     // 輸出資料
43 44     sc.write(buffer); 45 46 47 48     // 關閉資源 49 50     sc.close(); 51   } 52 53 }

<2> 伺服器端

 1 import  java.io.IOException;
 2 
 3 import  java.net.InetSocketAddress;
 4 
 5 import  java.nio.ByteBuffer;
 6 
 7 import  java.nio.channels.ServerSocketChannel;
 8 
 9 import  java.nio.channels.SocketChannel;
10 11 12 13 public class Demo服務端 { 14 15   // 阻塞的 16 17   main() throws IOException { 18 19 20 21     // 建立伺服器物件 22 23     ServerSocketChannel ssc = ServerSocketChannel.open(); 24 25 26 27     // 繫結埠號 28     ssc.bind(new InetSocketAddress(9000)); 29      30     // 連線客戶端 31     SocketChannel sc = ssc.accept(); 32 33 34     // 建立緩衝陣列 35     ByteBuffer buffer = ByteBuffer.allocate(1024); 36 37 38     // 讀取資料 39     int len = sc.read(buffer); 40 41 42     // 列印 43     System.out.println(new String(buffer.array(),0,len)); 44 45   } 46 47 }