<span style="font-size:18px;">import java.io.OutputStream;
import java.net.Socket;
/*
* 客戶端:
* 通過查閱Socket對象,發現在該對象建立時,就可以去連接指定主機
* 因爲tcp是面向連接的,所以在建立socket服務時,
* 就要有服務端存在,並連接成功,形成通路後,在該通道進行數據的傳輸
*/
public class Demo4 {
public static void main(String[] args) throws Exception {
//創建客戶端的Socket服務,指定目的主機和端口
Socket s = new Socket("192.168.30.88",10003);
//爲了發送數據,應該獲取socket流中的輸出流
OutputStream out = s.getOutputStream();
//向服務器發送數據
out.write("tcp is come on".getBytes());
//關閉socket
s.close();
}
}</span>
TCP傳輸 服務端
<span style="font-size:18px;"><span style="white-space:pre"> </span>//1、建立服務端的socket服務,ServerSocket()
//2、獲取連接過來的客戶端對象
// 通過ServerSocket的accept方法,沒有連接就會等
//3、客戶端如果發過來數據,那麼服務端要使用對應的客戶對象,並獲取 到該
//客戶端對象的讀取流來讀取發過來的數據,並打印在控制檯
//4、關閉客戶端
//5、關閉服務器, 該步驟可選
public static void main(String[] args) throws Exception {
//建立服務端socket服務,並監聽一個端口
ServerSocket ss = new ServerSocket(10003);
//通過accept方法獲取連接過來的客戶端對象
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+"is connected");
//獲取客戶端發送過來的數據,那麼要使用客戶端對象的讀取流讀取數據
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
System.out.println(new String(buf,0,buf.length));
s.close(); //關閉客戶端
ss.close();
System.out.println("接收完畢");
}</span>