[Java学习]:网络编程

61 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第31天。

网络编程指编写运行在多个设备的程序,这些设备通过网络连接起来。

socket 编程

使用 TCP 通信机制,创建连接时,服务器会创建一个 Socket 对象,客户端和服务器通多对 Socket 对象的写入和读取进行通信。

java.net.Socket 类代表一个套接字,并且 java.net.ServerSocket 类为服务器程序提供了一种来监听客户端,并与他们建立连接的机制。

建立连接后,通过I/O流进行通信,每一个socket都有一个输出流和一个输入流,客户端的输出流连接到服务器端的输入流,而客户端的输入流连接到服务器端的输出流。

TCP 是一个双向的通信协议,因此数据可以通过两个数据流在同一时间发送.以下是一些类提供的一套完整的有用的方法来实现 socket。

**服务器应用程序通过使用 java.net.ServerSocket 类以获取一个端口,并且侦听客户端请求。

ServerSocket 类有四个构造方法:**

序号方法描述
1public ServerSocket(int port) throws IOException 创建绑定到特定端口的服务器套接字。
2public ServerSocket(int port, int backlog) throws IOException 利用指定的 backlog 创建服务器套接字并将其绑定到指定的本地端口号。
3public ServerSocket(int port, int backlog, InetAddress address) throws IOException 使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
4public ServerSocket() throws IOException 创建非绑定服务器套接字。

URL 处理

URL 称为统一资源定位符,表示为互联网上的资源,如网页。

URL 可以分为以下几个部分:

protocol://host:port/path?query#fragment

protocol(协议)可以是 HTTP、HTTPS、FTP 和 File,port 为端口号,path为文件路径及文件名。

  • 协议:protocol,HTTP
  • 主机:host:portwww.baidu.com
  • 端口号:80,默认是80
  • 文件路径:/index.html
  • 请求参数:age=4
  • 定位位置:

URL类相关方法及描述:

序号方法描述
1public String getPath() 返回URL路径部分。
2public String getQuery() 返回URL查询部分。
3public String getAuthority() 获取此 URL 的授权部分。
4public int getPort() 返回URL端口部分
5public int getDefaultPort() 返回协议的默认端口号。
6public String getProtocol() 返回URL的协议
7public String getHost() 返回URL的主机
8public String getFile() 返回URL文件名部分
9public String getRef() 获取此 URL 的锚点(也称为"引用")。
10public URLConnection openConnection() throws IOException 打开一个URL连接,并运行客户端访问资源。