目录
1. HttpURLConnection
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUrlTest {
public static void main(String[] args) {
try {
URL url = new URL("https://www.lanqiao.cn");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(1000);
InputStream inputStream = urlConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
bufferedReader.lines().forEach(System.out::println);
inputStream.close();
bufferedReader.close();
urlConnection.disconnect();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
2. InetAddress
package com.company;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressDemo {
public static void main(String[] args) {
try {
InetAddress inetAddress = InetAddress.getByName("www.lanqiao.cn");
System.out.println(inetAddress.toString());
String ip = inetAddress.toString().split("/")[1];
InetAddress inetAddressByIP = InetAddress.getByName(ip);
System.out.println("get hostname by IP address: " + inetAddressByIP.getHostName());
System.out.println("localhost: " + InetAddress.getLocalHost());
}
catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
3. Socket
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(1080);
Socket client = serverSocket.accept();
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String userIn;
while ((userIn = in.readLine()) != null) {
System.out.println("收到客户端消息:" + userIn);
out.println(userIn);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
String hostname = "127.0.0.1";
int port = 1080;
Scanner userIn = new Scanner(System.in);
try {
Socket socket = new Socket(hostname, port);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String userInput;
System.out.println("请输入信息:");
while (!"exit".equals(userInput = userIn.nextLine())) {
out.println(userInput);
System.out.println("收到服务端回应:" + in.readLine());
}
socket.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
4. 多线程服务器
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
String hostname = "127.0.0.1";
int port = 1080;
Scanner userIn = new Scanner(System.in);
try {
Socket socket = new Socket(hostname, port);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String userInput;
System.out.println("请输入信息:");
while (!"exit".equals(userInput = userIn.nextLine())) {
out.println(userInput);
System.out.println("收到服务端回应:" + in.readLine());
}
socket.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(1080);
while (true) {
Thread thread = new Thread(new ServerThread(serverSocket.accept()));
thread.start();
}
}
catch (IOException e) {
e.printStackTrace();
}
}
static class ServerThread implements Runnable {
Socket client;
public ServerThread(Socket client) {
this.client = client;
}
public void run() {
try {
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String userIn;
while ((userIn = in.readLine()) != null) {
System.out.println("收到客户端消息:" + userIn);
out.println(userIn);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
}