------- android培训、java培训、期待与您交流! --------
网络通讯:
1,找到对方IP。
IP:网络中设备的标识,不易记忆,可用主机名,本地回还地址:127.0.0.1。主机名:localhost。
2,数据要发送到对方指定的应用程序上。为了标识这些应用程序,所以个这些网络应用程序都用数字进行标识。
为了方便称呼这个数字,叫做端口。逻辑端口。
用于标识进程的逻辑地址,不同进程的标识。
有效端口:0~65535,其中0~1024系统使用或保留端口。
3,定义通信规则。这个通讯规则称为协议。国际组织定义了通用协议TCP/IP。常见协议TCP,UDP。
网络参考模型:
OSI参考模型 TCP/IP参考模型
应用层 -------------------应用层
表示层 -------------------应用层
会话层 -------------------应用层
传输层 -------------------传输层
网络层 -------------------网际层
数据链路层 ----------------主机至网络层
物理层 -------------------主机至网络层
发送数据:数据封包,从上到下
接收数据:数据拆包,从下到上
TCP和UDP:
UDP:
将数据及源和目的封装成数据包,不需要建立连接。
每个数据包的大小限制在64K内。
因无连接,是不可靠的协议。
不需要建立连接,速度快。
TCP:
建立连接,形成传输数据的通道。
在连接中进行大数据量传输。
通过三次握手完成连接,是可靠协议。
必须建立连接,效率会稍低。
Socket:
Socket就是为网络服务提供的一种机制。
通信的两端都有Socket。
网络通信其实就是Socket间的通信。
数据在两个Socket间通过IO传输。
UDP传输:
发送端:
1,建立UDPSocket服务。
2,提供数据,并将数据封装到数据包中。
3,通过Socket服务的发送功能,将数据包发出去。
4,关闭资源。
接收端:
1,定义UDPSocket服务。
2,定义一个数据包,因为要存储接收到的字节数据,而且数据包对象中有
更多的功能可以提取字节数据中的不同数据信息。
3,通过Socket服务的receive方法将收到的数据存入已定义好的数据包中。
4,通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上。
5,关闭资源。
TCP传输:
客户端:
1,建立Socket服务,指定要连接的主机和端口。
2,获取Socket流中的输出流,将数据写到该流中,通过网络发送给服务端。
3,获取Socket流中的输入流,将服务端反馈的数据获取到,并打印。
4,关闭客户端资源。
服务端:
1,建立服务端的Socket服务,ServerSocket();并监听一个端口。
2,获取连接过来的客户端对象。
通过ServerSocket的accept方法,没有连接就会等,所以这个方法是阻塞式的。
3,客户端如果发过来数据,那么服务端要使用对应的客户端对象,并获取到该客户端对象的读取流来读取发过来的数据。并打印在控制台上。
4,关闭服务端资源。(可选)