IP地址
一个服务器有两个地址
- 127.0.0.1 这个IP代表这台机器自己,外界无法访问,仅自己可以访问。
- 网络上可以识别的地址
端口
用来制定某一个进程的端口号(即某一个软件所用的端口),每一个进行网络通讯的进程都会有一个端口,用来外界识别服务器中众多进程中的某一个特定进程。
Socket套接字用来实现JAVA网络应用
Socket可看作插座,可以实现两个进程之间的虚拟链接
ServerSocket所封装的底层操作就是作为服务的提供端,监听某一个网络端口,等待客户端的链接请求。
服务器端
ServerSocket serverSocket = new ServerSocket(9999);//指定端口号并建立服务器套接字
Socket incoming = serverSocket.accept();//监听端口并返回一个客户端对应的套接字对象
PrintWriter out = new PrinterWriter(incoming.getOutputStream(),true);//发送数据
out.println("发生送的s数据");
BufferedReader in = new Buffered(new InputStreamReader(incoming.getInputStream()));//接收数据
System.out.println(in.readLine());//读接收到的数据
客户端
Socket clientSocket = new Socket("服务器的IP地址",端口号);//客户端套接字,指定IP地址和端口号
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);//发送数据的对象
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));//接收数据的对象
out.println("等待输出的数据");//发送数据
String str = in.readLine();//读取数据
- getInputStream()
得到输入流 - getOutputStream()
得到输出流