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();
- }
-
- }
- }