TCP發送與接收數據

//客戶端java

package liu.net.tcp;服務器


import java.io.IOException;socket

import java.io.OutputStream;tcp

import java.net.Socket;ide

import java.net.UnknownHostException;spa


public class Client {.net

/* tcp 客戶端創建的步驟對象

* 1.創建tcp客戶端服務資源

* 1.1 由於是面向鏈接的,必須有鏈接才能夠進行通訊get

* 1.2在創建客戶端時,必須明確目的地地址和端口

* 2.一旦創建,就有了傳輸數據的通道,能夠在通道中進行數據傳輸

* 這個傳輸其實就是經過流來實現的,這個流就是 socket io 流

* 3.只要獲取 socket io 中的寫動做就能夠把數據寫入socket流中發給服務器端

* 4.關閉資源

*/

public static void main(String[] args) throws UnknownHostException, IOException {

System.out.println("客戶端啓動。。。");

//1.建立客戶端對象,明確目的地址和端口號

Socket s = new Socket("127.0.0.1",8899);

//2.獲取socket流中的輸出流,將數據發送給服務器

OutputStream out = s.getOutputStream();

//經過輸出流寫數據

out.write("TCP 客戶端發送給服務器的數據".getBytes());

//關閉資源

s.close();

}

}



//服務器端

package liu.net.tcp;


import java.io.IOException;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;


public class Server {

public static void main(String[] args) throws IOException {

/*建立TCP 服務器端步驟:

* 1.建立socket服務器端服務。服務器端爲了讓客戶端能連上,必須提供端口。監聽一個端口

* 2.獲取客戶端對象。經過客戶端的socket流和對應的客戶端進行通訊

* 3.獲取客戶端socket的讀取流

* 4.讀取數據並顯示在服務器端

* 5.關閉資源

*/

System.out.println("服務器啓動。。");

//1.建立服務端對象

ServerSocket ss = new ServerSocket(8899);

//2.獲取客戶端對象

Socket s = ss.accept();

//3.獲取客戶端的輸入流

InputStream is = s.getInputStream();

byte[] buf = new byte[1024];

int len = is.read(buf);

String data = new String(buf,0,len);

System.out.println("服務器端收到的信息:"+data);

}


}

相關文章
相關標籤/搜索