黑马程序员技术交流社区
标题: 【石家庄校区】网络 [打印本页]
作者: 奔跑的蜗牛006 时间: 2018-4-23 15:12
标题: 【石家庄校区】网络
本帖最后由 小石姐姐 于 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() 返回主机名
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |