网络编程–概念
1.IP
唯一标识网络上的每一台的计算机
32位,4个8位的二进制数字【为了方便转为】4个10进制数字
IP地址=网络地址+主机地址
网络地址:标识计算机和网络设备所在的网段
主机地址:识别特定主机或网络设备
获取IP的方式
命令提示符中输入:ipconfig
测试网络是不是通畅
命令提示符中输入:ping (IP)
2.DNS域名解析器
访问网络输入网址,通过DNS解析器,转化为IP访问
3.网络服务器
通常指在网络环境下,具有较高计算能力,能提供用户服务功能的计算机
邮件服务器
发邮件:发送者->邮件服务器->收件者
WEB服务器
接收用户的请求
执行一些程序
返回一些请求
常用的WEB服务器
微软的IIS服务器
Apache
Apache TomCat(开源,免费,轻巧)
遵循http协议(简单邮件传输协议)
4.B/S C/S
B/S:浏览器,服务器端的应用程序
例:只需要在浏览器中访问网址就可以
C/S:客户端的服务器应用程序
例:QQ,需要客户下载一个QQ登陆的应用程序
区别
B/S如果服务器应用程序更新,不需要做更新;C/S的需要更新客户端使用
5.网络通信协议
网络分层
物理层
通讯的一些设备
数据链路层
网络层
路由选择
传输层
应用层
规则就是协议
传输层
TCP
UDP
应用层
HTTP
FTP
SMTP
6.Socket通信
每一个Socket(套接字)提供不同的服务;每一个Socket都会和一个端口绑定
即:提供给应用程序的接口
Socket分类
流式套接字(SOCK_STREM)
面向连接,可靠的数据传输服务 //邮件传输,会无错误的全部接收到,不会导致数据丢失(遵循TCP协议) 优点:安全
数据报式套接字(SOCK_DGRAM)
无连接服务,传输的是数据包 // 例,视频会议,可能会丢失一些数据(遵循UDP协议) 优点:快速
原始套接字(SOCK_RAM)
Socket通信原理
客户端的端口通过(服务器的IP和对应服务的端口)发送请求
程序与程序的通信,使用流来通信
服务器端的监听请求,如果监听到,返回一个响应,使用结束关流
存放在java.net包中