套接字:socket是一组API实现网络编程
服务器:
客户端:
因为服务器不知道啥时候客户端会申请请求 因此服务器7*24h在等待
IP地址: 用来识别互联网上一台主机的位置 (类似于收件人地址)
端口号: 区分一台主机的哪个应用程序 (类似于收件人姓名)
一次通信过程涉及的五个概念:
源IP: 发件人地址
源端口: 发件人姓名
目的IP: 收件人地址
目的端口: 收件人姓名
协议类型
查看自己电脑的IP地址: cmd打开输入ipconfig
端口号(0-65535) 占两个字节的整数
服务器程序必须关联一个固定的端口号
UDP
1.[UDP] DatagramSocket:面向数据报
(发送接收数据 必须以一定的数据包为单位进行传输)
2.[TCP] ServerSocket:面向字节流
UDP和TCP是传输层中两个最重要协议
从UDP开始 最简单的客户端服务器
这个服务器要干的事情:客户端给服务器发送一个指令 服务器将客户端的指令直接返回无任何额外操作 (回显服务器)
服务器代码示例:
客户端代码示例:
回显结果演示:
打jar包:
UDP特点:无连接 不可靠 面向数据报 全双工
全双工:双向通信 借助一个socket对象既可以发送数据也可以接收数据
单双工:单向通信 要么只能读要么只能写