package SocketDemo;
import java.io.IOException;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
public class socketTest {
public static void main(String[] args) {
try {
var socket=new Socket("time-a.nist.gov",13);
var in=new Scanner(socket.getInputStream(),StandardCharsets.UTF_8);
{
while(in.hasNextLine()) {
String nextLine = in.nextLine();
System.out.println(nextLine);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
关键代码:
var socket=new Socket(“time-a.nist.gov”,13);
Var in=new Scanner(socket.getInputStream(),StandardCharsets.UTF_8);
socket被称为“套接字”。
套接字:网络软件的一个抽象概念,负责启动该程序和外部的通信。
代码中,我们将远程地址和端口号传递给套接字的构造器,如果地址错误会报出UnknownHostException,出现其他错误会报IOException,UnknownHostException是IOException的子类。一旦套接字被打开我们就可以获取流获取数据,套接字简单易用,因为它将复杂的网络传输过程屏蔽了。
方法:
Socket(String host,int port);构建一个套接字,用来连接给定的主机和端口。
InputStream getInputStream();
OutputStream getOutputStream();获取可以从套接字中读取数据的流,以及可以向套接字写出数据的流。