网络编程
1. 网络编程的概述
连接具有独立功能多台计算机设备,在网络操作系统,实现资源共享和 信息传递的计算机系统
2. 网络模型
计算机网络之间以何种规则进行通信
网络模型一般是指 TCP /IP
----------------------- 应用层
----------------------- 传输层
----------------------- 网际层
----------------------- 主机至网络层
3. 网络通信的三要素
端口号
InetAddress java提供的内部类供我们操作ip地址
如果一个类没有构造函数
A. 所有的方法都是静态的
B. 或者是单例模式
C. 类中有静态方法返回对象
static InetAddress | getByName(String host) 在给定主机名的情况下确定主机的 IP 地址 根据主机名得到ip地址对象 |
一些静态方法
//InetAddress in=Inet4Address.getByName(“WRGHO-707091619”);
InetAddress in=Inet4Address.getByName("10.32.237.100");
//根据主机名获取ip地址
System.out.println(in);
String s1=in.getHostName();
System.out.println(s1);//根据ip获取计算机的名字
String s2=in.getHostAddress();
System.out.println(s2);//根据ip地址获取ip地址的字符串类型
4.UDP
UDP
将数据源和目的封装成数据包,不需要建立连接,是不可靠协议,不需要建立连接
把数据打包 数据有限制 不建立连接 速度快 不可靠
5. Socket: 网络套接字
Socket 编程:网络编程 套接字编程
Socket包含了IP地址 +端口
Socket原理机制
------------- 通信的两端都有Socket
------------- 网络通信其实就是socket间的通信
------------- 数据在两个socket间通过IO传输
接收端
发送端:
运行的时候一定要先运行接收端 然后运行发送端
6. Tcp
(1).TCP
建立连接,形成传输数据的通道,在连接中继续您大量数据传输,通过三次握手完成连接是可靠协议,必须建立连接,效率会稍低。
UDP 发短信
TCP 打电话
(2).TCP发送数据
A.创建发送端的Socket对象
这一步如果成功,就说明连接已经成功
B.获取输出流,写数据
C.释放资源
客户端:
Socket对象
服务端:
服务端的Socket对象是 ServerSocket
然后监听 socket s=ss.accept();
在转换为字节流来读取数据
流程图:
服务器给客户端加反馈:
(3).传送文件
客户端
服务器端
4)传送图片
传送图片必须用字节流
客户端:
服务器端