1、 TCP:是專門設計用於在不可靠的英特網上提供可靠的、端到端的字節流通信的協議,它是一個面向連接的協議,TCP連接是字節流而非報文流
2、 Socket:兩個Java應用程序可通過一個雙向的網絡通信連接實現數據交換,這個雙向鏈路的一端稱爲一個Socket、Socket通常用來實現client—server連接、java.net包中定義的兩個Socket和ServerSocket,分別用來實現雙向連接的client和server端、建立連接時所需的尋址信息爲遠程計算機的IP地址和端口號(Port number)——TCP端口 UDP端口分開,每一個65536個端口
java代碼:
-
import java.net.*;
-
import java.io.*;
-
-
public class TCPClient {
-
public static void main(String[] args) throws Exception {
-
Socket s = new Socket("127.0.0.1", 6666);
-
OutputStream os = s.getOutputStream();
-
DataOutputStream dos = new DataOutputStream(os);
-
Thread.sleep(30000);
-
dos.writeUTF("hello server!");
-
dos.flush();
-
dos.close();
-
s.close();
-
}
-
}
java代碼:
-
import java.net.*;
-
import java.io.*;
-
-
public class TCPServer {
-
public static void main(String[] args) throws Exception {
-
ServerSocket ss = new ServerSocket(6666);
-
while (true) {
-
Socket s = ss.accept();
-
System.out.println("a client connect!");
-
DataInputStream dis = new DataInputStream(s.getInputStream());
-
System.out.println(dis.readUTF());
-
dis.close();
-
s.close();
-
}
-
-
}
-
}