网络编程
1、TCP/IP协议
1.TCP协议(传输控制协议)
负责网络连接和数据传输
面向连接的传输层协议,在使用TCP协议通讯前必须建立TCP链接
2.IP协议(网络互连协议)
负责通过IP地址定位主机(后来微软出的域名解析,既现在的DNS,负责把域名解析成IP地址)
2、相关的类
1. InetAddress 代表包含主机域名或本机机器名和IP地址的类
隐藏了构造方法,使用静态方法得到该类的实例 getByName(“域名或机器名”)
getLocalHost() 返回本机信息的实例
getHostAddress() 返回IP地址
getHostName() 返回域名或机器名
3、编程模型
1.服务器模型 服务器端监听连接请求
客户端发送连接请求
服务器端和客户端建立连接
通过连接进行数据通讯
通讯完毕,关闭连接
4、Socket编程(网络套接字编程)
1.服务器端
SeverSocket 构造方法: new SeverSocket(端口号)
方法: accept() 返回Socket对象,启动监听,等待连接请求,进入阻塞状态,当收到客户端连接请求之后才进入运行状态
2.客户端
Socket 构造: new Socket(“目标地址”,端口号) 构造同时发送连接请求,当连接成功后才完成实例化
3.数据通讯
Socket getOutputStream() 返回输出流
getIutputStream() 返回输入流
close() 关闭连接,释放资源
PrintWriter 构造: new PrintWriter(输出流)
用法: Println(字符串) 想输出流输出带换行的字符串(ln表示换行)
BufferedReader 带缓存的字符输入流
构造: new BufferedReader(new InputStreamReader(输入流))
用法: readLine() 按行读取字符串(之前Println中必须有ln才换行)
文件传输:可以边读边写,客户端和服务器端可同时进行边读边写