第七节:IO网络通讯
1.网络编程:基本模型是C/S模型,两个进程间的通信
2.BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理,处理完成后,通过输出流返回应答给客户端,线程销毁。即典型的一请求一应答通宵模型。
3.BIO通信模型:
补充:《java编程思想》
Socket是一种软件形式的抽象,用于表达两台机器间的一个链接“终端”,
两个基于数据流的套接字类:ServerSocket 服务器用它“侦听”进入的链接;
以及socket客户用它初始一次连接。
创建serversocket时,只需为其赋予一个端口编号
TCP传输控制协议:是机器之间建立连接用的到的一个协议
再正式收发数据前,必须喝对方建立可靠的连接
一个TCP连接必须要经过三次“对话”才能建立起来
①.主机A向主机B发出连接请求数据包:“我想发数据给你”
②.主机B向主机A发送同意连接和要求同步,”可以,什么时候发”
3.主机 A再发出一个数据包确认主机B的要求同步,A“现在就发,接着吧”
总结:TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地法网网络上的其他计算机,所以对可靠性要求高的数据通信使用TCP协议传输数据。
UDP:用户数据报协议
1.“面向非连接”就是正式通信前不必与对方建立连接,不管对方状态就直接发送,如 发短信
2.UDP是与TCP相对应的协议,它是面向非连接的协议,不与对方建立连接,就直接发过去。
3.UDP适用于一次只传送少量数据,对可靠性要求不高的应用环境。
“ping”命令测试两台主机之间TCP/IP通信是否正常
“ping”命令的原理就是像对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的
一次“ping”操作发送4个数据包,数量4包,那么收到四包,因为对方主机收到后会发回一个确认收到数据包。
说明:UDP协议是面向非