网络编程主要分为两大类
1.C/S
即客户端与服务器之间的交互,即我们通过软件来进行网络间的交互
2.B/S
即网页与服务器之间的交互,我们通过网址来进行一定的交互
网络协议
俗话说无规矩不成方圆,网络的交互也不是一片无法之地。他同样被规则约束着,这些规则我们叫他网络协议
网络协议主要有两种
1.Tcp网络协议
2.UDP网络协议
UDP网络协议
在这种协议下约束的网络传输,连接便捷。一般用于小文件的传输。
但是这种协议下的传输路径并不是那么稳定,有时会在传输过程中丢失数据。比如我们在网络视频通话时,有时会出现网络卡顿请况,然后人物卡屏,这是因为网络的波动使不稳定的传输过程丢失了画面,从而造成了卡的现象。
TCP网络协议
在这种协议下约束的网路传输,安全性高,但是连接过程繁琐,连接时需要客户端与服务器达成三次握手才可以。传输稳定,传输过程中不会丢失数据。
网络交互的原理
每一个加入网络的不论是服务器还是客户端都会获得一个IP地址,这个IP地址就像我们家里的地址一样,我们可以通过IP地址找到需要交互的对象。
交互时,服务器先开启,等待客户端通过IP地址找到服务器,与服务器进行连接。注:服务器只能被动的等待客户端进行连接,不可主动连接客户端。
客户端与服务器的交互不可能凭空在服务器端呈现,必须要借助某种方式进行呈现。
这个呈现往往要借助某种软件,比如我们在QQ发送消息给服务器,服务器就会把这条消息读取到QQ中
但是服务器上有那么多网络软件,为什么他就偏偏在QQ上进行读取呢。
那是因为我们电脑上的每个网络软件都有一个端口号,客户端会通过这个端口号,来找到我们需要呈现数据的软件。
TCP通信过程
1.我们首先启动服务器,等待客户端响应。
2.启动客户端,客户端主动连接服务器(客户端与服务器的端口号需要一致)
3.连接成功后,客户端和服务器之间会建立一个网络连接,并在这个网络连接中获取IO对象
4.客户端和服务器通过IO对象进行交互
TCP通信实现步骤(客户端)
Socket
构造方法:
Socket(String host,int port)
String host:需要通信的服务器地址
int port:通信服务器端口号
实现步骤:
1.创建Socket对象,构造方法绑定交互的服务器IP地址和端口号
2.使用Socket对象的GetinputStream方法和GetOutputStream方法获取交互所需要的的IO流,并接收
3.调用IO流进行交互
4.调用Socket对象close方法,关闭Socket,释放资源
TCP通信实现步骤(服务器端)
ServerSocket
构造方法
ServerSocket(int port)
int port:端口号
实现步骤
1.创建ServerSocket对象,构造方法传入端口号
2.调用ServerSocket对象的accept,获取发出通信请求的服务器对象,并返回Socket进行接收
3.调用接收到的Socket对象的getInputStream方法和getOutputStream方法获取IO流
4.调用IO流进行交互
5.调用Socket对象的Close方法,调用ServerSocket对象的close方法,关闭并释放资源。