服务器端程序需要用到 java.net.Socket 类。在服务器/客户端的网络应用程序中,每次的 TCP 连接请
求都会由客户端向服务器端发起。客户端程序的建立通常由如下 4 个步骤组成:
(1)在客户端程序中,创建类 java.net.Socket 的实例对象,与服务器端建立起连接。在创建 Socket
的实例对象时需要指定服务器端的主机名以及进行连接的端口号(此端口号一定要与服务器端的
ServerSocket 构造实例对象时所监听的端口号一致)。
(2)调用客户端套接字 Socket 的方法 getInputStream()和 getOutputStream(),获得该套接字所对应
的输入流(InputStream)和输出流(OutputStream)。
(3)通过获得的输入流和输出流与服务器端进行数据通信,并处理从服务器端获得的数据以及需
要向服务器端发送的数据。
求都会由客户端向服务器端发起。客户端程序的建立通常由如下 4 个步骤组成:
(1)在客户端程序中,创建类 java.net.Socket 的实例对象,与服务器端建立起连接。在创建 Socket
的实例对象时需要指定服务器端的主机名以及进行连接的端口号(此端口号一定要与服务器端的
ServerSocket 构造实例对象时所监听的端口号一致)。
(2)调用客户端套接字 Socket 的方法 getInputStream()和 getOutputStream(),获得该套接字所对应
的输入流(InputStream)和输出流(OutputStream)。
(3)通过获得的输入流和输出流与服务器端进行数据通信,并处理从服务器端获得的数据以及需
要向服务器端发送的数据。
(4)在数据传输结束以后,关闭输入流、输出流和套接字。
=================================================================================
import java.io.*;
import java.net.*;
public class WebClientDemo {
public static void main(String[] args) throws IOException{
Socket client = new Socket("www.58.com",80); //创建 Socket 实例,连接到58同城的 80 端口
//输出服务器端信息
System.out.println("服务器 IP 是:" + client.getInetAddress());
System.out.println("服务器端口号是:" + client.getPort());
//输出客户机信息
System.out.println("客户机 IP 是:" + client.getLocalAddress());
System.out.println("客户机端口号是:" + client.getLocalPort());
client.close(); //关闭 Socket 连接
}
}