freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java語言程序設(shè)計(文件輸入輸出、java網(wǎng)絡(luò)編程)ppt-資料下載頁

2025-10-07 16:18本頁面
  

【正文】 發(fā)來的連接 ? public ServerSocket(int port) throws IOException ? 接收連接請求 ? public Socket accept() throws IOException ? Listens for a connection to be made to this socket and accepts it. The method blocks(阻塞 ) until a connection is made ? 服務(wù)器端通過所接收到的 Socket對象和客戶端通信 ? Socket代表了 TCP所定義的雙向通信連接的一個端點 ? 操作步驟 1. 監(jiān)聽端口 2. 接收連接 3. 進行流的讀寫操作 68 Socket應(yīng)用 ? 對 ServerSocket的實現(xiàn) 實例 ServerSocket Localhost Socket OutputStream InputStream InputStream OutputStream 客戶端 服務(wù)器端 69 Socket應(yīng)用 ServerSocket s = null。 String hello = “Hello World!”。 try { s = new ServerSocket(5432)。 } catch(IOException e) { (e)。 (1)。 } while(true) { try { Socket cs = ()。 OutputStream out = ()。 DataOutputStream dos = new DataOutputStream(out)。 (hello)。 ()。 ()。 } catch(IOException e) { (e)。 } } ServerSocket Localhost Socket OutputStream InputStream InputStream OutputStream 接收連接 打開輸出流 寫入輸出流 關(guān)閉輸出流 關(guān)閉連接 監(jiān)聽端口 70 Socket應(yīng)用 ? 客戶端與服務(wù)器端的實現(xiàn) 客戶端 服務(wù)器端 71 Socket應(yīng)用 ? 多線程的服務(wù)器實現(xiàn) ? 為每個客戶的連接 (Socket)分配一個線程,讓其獨立處理 ? 兩種實現(xiàn)方式 1. 作為 2. 實現(xiàn) Thread 1 Thread n Client 1 Socket Port 7 ServerSocket Client n Socket 1 2 3 1 2 3 72 Socket應(yīng)用 ? 多線程的服務(wù)器實現(xiàn) 實例 ServerSocket s = new ServerSocket(5432)。 boolean listening = true。 while (listening) new ServerThread(()).start()。 ()。 class ServerThread extends Thread { … … public void run() { … … } } 73 1. 概述 2. URL應(yīng)用 3. Socket應(yīng)用 4. UDP數(shù)據(jù)報 第十章 Java網(wǎng)絡(luò)編程 74 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報 (Datagram) ? 通過 UDP協(xié)議發(fā)送數(shù)據(jù)報 , 各個數(shù)據(jù)報是相互獨立 , 數(shù)據(jù)報是否到達 (可能丟失 )、到達時間、到達順序不能保證 ? ? 構(gòu)造一個要發(fā)送 /接收的 數(shù)據(jù)報對象 ? ? 構(gòu)造一個用于發(fā)送 /接收數(shù)據(jù)報的 socket對象 ? ? 構(gòu)造一個用于發(fā)送 /接收 組播數(shù)據(jù)報 的 socket對象 75 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報 (Datagram) 的收 /發(fā)流程 ? 發(fā)送 1. 構(gòu)造用于發(fā)送的數(shù)據(jù)報對象 (指定要發(fā)送的地址和端口號 ) ? public DatagramPacket(byte[] buf, int length, IAddress address, int port) 2. 構(gòu)造用于發(fā)送數(shù)據(jù)報的 socket對象 ? public DatagramSocket() throws SocketException 3. 發(fā)送 ? public void send(DatagramPacket p) throws IOException ? 接收 1. 構(gòu)造用于接收的數(shù)據(jù)報對象 ? public DatagramPacket(byte[] buf, int length) 2. 構(gòu)造用于接收數(shù)據(jù)報的 socket對象 ? public DatagramSocket(int port) throws SocketException 3. 接收 ? public void receive(DatagramPacket p) throws IOException ? This method blocks until a datagram is received 76 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報客戶端的實現(xiàn) 實例 DatagramSocket Localhost DatagramSocket Datagram packet 客戶端 服務(wù)器端 77 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報客戶端的實現(xiàn) DatagramSocket socket = new DatagramSocket()。 String s = “hello”。 byte[] buf = ()。 IAddress address = (“”)。 DatagramPacket packet = new DatagramPacket(buf, , address, 6666)。 (packet)。 packet = new DatagramPacket(buf, )。 (packet)。 String received = new String(())。 (“Received: + received)。 ()。 DatagramSocket Localhost DatagramSocket Datagram packet public DatagramPacket(byte[] buf, int length, IAddress address, int port) public DatagramPacket(byte[] buf, int length) public byte[] getData() public DatagramSocket() throws SocketException public void receive(DatagramPacket p) throws IOException public void send(DatagramPacket p) throws IOException 構(gòu)造數(shù)據(jù)報 Socket 構(gòu)造發(fā)送數(shù)據(jù)報 , 發(fā)送 要發(fā)送的地址 構(gòu)造接收數(shù)據(jù)報 關(guān)閉數(shù)據(jù)報 Socket 從數(shù)據(jù)報中獲取數(shù)據(jù) 接收數(shù)據(jù)報 78 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報服務(wù)端的實現(xiàn) 實例 DatagramSocket Localhost DatagramSocket Datagram packet 客戶端 服務(wù)器端 79 UDP數(shù)據(jù)報應(yīng)用 ? 數(shù)據(jù)報服務(wù)端的實現(xiàn) DatagramSocket socket = new DatagramSocket(6666)。 byte[] buf = new byte[256]。 DatagramPacket packet = new DatagramPacket(buf, )。 (packet)。 String received = new String(()).trim()。 IAddress address = ()。 int port = ()。 packet = new DatagramPacket(buf, , address, port)。 (packet)。 ()。 DatagramSocket Localhost DatagramSocket Datagram packet public DatagramPacket(byte[] buf, int length, IAddress address, int port) public DatagramPacket(byte[] buf, int length) public byte[] getData() public IAddress getAddress() public int getPort() public DatagramSocket(int port) throws SocketException public void receive(DatagramPacket p) throws IOException public void send(DatagramPacket p) throws IOException 構(gòu)造數(shù)據(jù)報 Socket,監(jiān)聽端口 構(gòu)造發(fā)送數(shù)據(jù)報 得到要發(fā)送的地址 構(gòu)造接收數(shù)據(jù)報 關(guān)閉數(shù)據(jù)報 Socket 接收數(shù)據(jù)報 接收到的字符串 得到要發(fā)送的端口 發(fā)送數(shù)據(jù)報 80 UDP數(shù)據(jù)報應(yīng)用 ? 組播數(shù)據(jù)報 (Multicast Datagram) ? 特定的 IP地址 (組播地址 ) ? ~ ? 該 IP地址作為組的標識 ? 一個應(yīng)用向一個組播地址 /組發(fā)送一個消息,所有組成員都能從該組播地址和端口上接收到該消息。該應(yīng)用可以不是組成員 ? 類似與郵件列表 ? 當一個應(yīng)用成為一個組播地址 /端口的成員,則它可以接收到其他成員發(fā)送的數(shù)據(jù)報 81 UDP數(shù)據(jù)報應(yīng)用 ? 組播數(shù)據(jù)報 (Multicast Datagram) ? ? 指定組播地址和端口 ? 加入組 /離開組 5 組播地址組 () 1 2 4 加入組 離開組 3 82 UDP數(shù)據(jù)報應(yīng)用 ? 組播數(shù)據(jù)報 (Multicast Datagram)的實例 String msg = Hello。 IAddress grp = ()。 MulticastSocket s = new MulticastSocket(6789)。 (grp)。 DatagramPacket hi = new DatagramPacket((), (), grp, 6789)。 (hi)。 byte[] buf = new byte[1000]。 DatagramPacket recv = new DatagramPacket(buf, )。 (recv)。 (grp)。 ()。 extends DatagramSocket ? public MulticastSocket(int port) throws IOException ? public void joinGroup(IAddress mcastaddr) throws IOException ? public void leaveGroup(IAddress mcastaddr) throws IOException ? public void send(DatagramPacket p) throws IOException ? public void receive(DatagramPacket p) throws IOException 定義一個組播地址 構(gòu)造接收數(shù)據(jù)報 構(gòu)造組播 Socket 關(guān)閉數(shù)據(jù)報 Socket 加入該組 構(gòu)造發(fā)送數(shù)據(jù)報 ,發(fā)送 接收數(shù)據(jù)報 離開該組 83 第十章 結(jié)束 !
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1