1.网络通信要素
通信双方地址:
规则:网络通信的协议
TCP/IP参考模型:
小结:
1.网络编程中有两个主要的问题
- 如何准确的定位到网络上的一台或者多台主机
- 找到主机之后如何进行通信
2.网络编程中的要素
- ip和端口号
- 网络通信协议,udp/tcp
3.万物皆对象
2.IP
ip地址:InetAddress
- 唯一定位一台网络计算机
- 127.0.0.1:本机localhost
- ip地址的分类
- 域名:方便记忆IP地址
3.端口
端口表示计算机上的一个程序的进程
- 不同的进程有不同的端口号,用来区分软件
- 被规定为0-65535
- TCP,UDP端口各65535个,单个协议下,端口号不能冲突
- 端口分类
- 公有端口0-1023
- HTTP:80
- HTTPS:443
- FTP:21
- Telnet:23
- 程序注册端口:1024-49151,分配给用户或者程序
- Tomcat:8080
- MySql:3306
- Oracle:1521
*动态/私有端口:49152-65535
netstat -ano #查看所有端口
netstat -ano|findstr "5900" #查看指定的端口
`tasklist|findstr "8696" #查看程序端口的进程
- 端口映射,两台主机间的程序交互依赖于特定端口的数据接收程序
通信协议
协议:约定,就好比语言,普通话
网络通信协议: 速率,传输码率,代码结构,传输控制
通过分层来简化
TCP/IP协议簇
重要:
- TCP:用户传输协议
- 连接稳定
- 三次握手,四次挥手
- 客户端/服务端
- 传输完成,释放链接,效率低
- UDP:用户数据报协议
- 不进行连接,不稳定
- 客户端,服务端没有明确的界限
- 不管有没有准备好都可以进行发送
- DDOS:洪水攻击,会受到饱和攻击
出名的协议:
- TCP
- IP:网络互联协议
TCP
客户端:
1.连接服务器Socket
2.发送消息
服务器
1.建立服务器端的端口ServerSocket
2.等待用户连接 accept
3.接收用户的消息
TCP文件上传
客户端/服务器端
网络编程简述
原文:https://www.cnblogs.com/UltraBlast/p/14503116.html