网络编程的目的
直接或间接地通过网络协议与其他计算机实现数据交换,进行通讯
网络编程中有两个主要问题
1.如何准确地定位网络上一台或多台主机,定位主机上的特定应用
2. 找到主机后如何可靠高效地进行数据传输
网络编程中的两个要素
- ip和端口号
- 提供网络通信协议
IP:
唯一地标识Internet上的计算机
在Java中使用InetAddress类来代表IP
实例化InetAddress的方法:
getByName(String host)、getLocalHost()
两个常用方法:
getHostName():获取域名
getHostAddress():获取Ip
端口号
标识正在计算机中运行的进程
不同的进程有不同的端口号
被规定为一个16位的整数0~65535
IP地址和端口号的组合得出一个网络套接字:Socket
网络通信步骤
客户端:
1.创建Socket对象,指明服务器端的Ip和端口号
2.获取一个输出流,用于输出数据
3. 进行写出数据的操作
4. 关闭资源
服务器端:
- 创建服务器端的ServerSocket,指明自己的端口号
- 调用accept(),表示接受来自于客户端的Socket
- 获取输入流,读取输入流中的数据
- 资源关闭
URL
统一资源定位符,对应着互联网的某一资源地址
格式:
协议 :// 主机名:端口号:资源地址?参数列表
方法:
public String getProtocol():获取该url的协议名
public String getHost() :获取该url的主机名
public int getPort():获取该url的端口号
public String getPath():获取该url的文件路径
public String getFile():获取该url的文件名
public String getQuery():获取该url的查询名