什么是网络编程?
网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。
客户端——服务器的交互
客户端:主动发送请求
服务器:被动返回响应
TCP和UDP
TCP:
1、有连接
类似于打电话,需要双方都接受,才可以进行连接
2、可靠传输
发送方可以感知到数据有没有发送到
3、面向字节流
传输的基本单位是一个字节
4、全双工
一个信道,可以双向通信,类型公路
UDP:
1、无连接
类似于发短信,不需要对方同意,就可以发过去
2、不可靠传输
3、面向数据报
传输的基本单位是一个数据报
4、全双工
一个信道,可以双向通信,类型公路
操作系统提供进行网络编程的api叫:socket api
⭐进行网络通信最核心的是:网卡
UDP socket api
DatagramSocket
负责对socket读写,也就是借助网卡发送、接收数据。
DatagramPacket
UDP面向数据报,每次发送、接收的基本单位——UDP数据报
回显服务器的实现:
我们先创建一个服务器—UdpEchoServe
1、网卡
因为网络通信最重要的是网卡,所以我们先创建一个成员变量DatagramSocket来进行下面的读、写。
2、我们写一个构造方法来对socket的赋值
3、下面我们开始写服务器运行时的代码
(1)
(2)
(3)
(4)