//客戶端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);
}
}