本帖最后由 小石姐姐 于 2018-4-26 14:31 编辑
网络
Socket: 套接字. 用于描述IP地址和端口. 是一种网络编程机制. 通信两端都有Socket 网络通信就是Socket之间的通信, 数据在两个Socket之间通过IO流传输 网络通信三要素: 传输协议: TCP: 传输控制协议 UDP: 用户数据报协议 IP地址: 网络设备的标识. IPv4: 192.168.100.255 IPv6: CDCD:910A:2222:5498:8475:1111:3900:2020 IP可以使用主机名或域名代替, 更容易记忆 端口号: 0~65535个端口, 前1024个端口号是系统保留端口号 http:// 192.168.1.1 : 8080 通信协议---------IP---------端口号 UDP协议发送数据: //创建发送端DatagramSocket对象 //定义数据() //打包(Datagrampacket) //发送数据---send() //释放资源 UDP协议接收数据: 无连接的不可靠协议,数据传输大小限制64k(一个包) 只管发送不管接收.网络电话 //创建接收端Socket对象---端口号错误,能发出,但接收不到 //接收包数据--- 定义数组byte[] bys=new byte[1024]; 创建打包对象存入byte receive() //解析数据 1.获取发送方IP对象 2.获取接收到的数据 3.获取具体收到的数据长度 //输出数据 字节转字符,newString(date,0,length). //释放资源 TCP协议发送数据: 三次握手,需要数据连接,没有数据传输大小限制. 客户端Socket---服务端ServerSocket //创建客户端Socket对象(创建连接) //获取输出流对象 //发送数据 //释放资源 服务端: //创建接收端ServerSocket对象(明确端口号) //监听(阻塞) InetAddress: 类: 用于表示IP地址对象 (InetAddress的实例包含 IP 地址,还可能包含相应的主机名) 静态方法: InetAddress getLocalHost() InetAddress getByName(String host) InetAddress getLoopbackAddress() InetAddress getByAddress(byte[] addr) 成员方法: String getHostAddress() 返回主机的IP地址 String getHostName() 返回主机名
|