网络通信
例子:
下载资源
资源上传
从服务器(某个网络终端)取得数据
向其他计算机发送消息
接收其他计算机发送的消息
计算机之间的交流,计算机之间数据的传递
ip地址
简述:ip地址是网络中计算机的唯一标识。
举例:xx.xx.xx.xx xx是0-255之间的一个数字
问题:
什么是局域网ip(192.168.xx.xx),什么是外网ip(查询到全球互联网下的任一台计算机,一般为了节省地址,服务器是独立IP,其他可能一个局域网内是一个外网IP)
如何查看本机ip(ipconfig)
ip是不能重复的
局域网ip在局域网内,不可以重复。外网ip在外网环境下不可以重复
每个域名,访问的其实都是某个服务器,服务器其实是一台计算机,是计算机就有一个唯一的ip地址。
访问域名的时候,其实就是通过服务器的ip地址,找到服务器并获取数据。
域名跟ip地址是一一对应的。
ping 域名
ping ip地址
特殊的ip地址
127.0.0.1 localhost
什么是ipv4和ipv6
端口号
有了地址可以找到住的地方,这个地方可能有很多人同时居住,我们还需要一个收件人。端口就相当于收件人。
我们的电脑上有很多运行的程序,有的程序不需要跟外界交互(单机软件)
有的程序需要跟外界交互,这个时候我们需要通过端口号区分我们要跟那个软件交互。
总结:通过ip定位计算机,通过port定位哪个软件
注意:端口号是不能重复的。端口号是一个数字。
通信协议
两个计算机通信,也就是两个计算机交流,也就是两个计算机交流数据。
通信规则
UDP
速度快
不需要建立连接
不可靠
TCP
速度慢
需要通过三次握手建立连接,四次挥手断开连接
可靠
举例:
UDP:发短信
TCP:打电话
网络编程的三要素总结:IP地址,端口号,通信协议。
Socket套接字
在程序中我们通过Socket进行通信,在使用Socket通信的时候
需要指定上面所说的几个条件(ip,port,协议)
数据发送分成两步
第一步是监听(等待数据发送过来),用来接收数据。需要指定监听的端口号
第二步是发送,需要指定发送到哪个计算机(IP地址),需要指定发送到这个计算机的哪个端口。
Socket中分为发送端和接收端
发送端一般为客户端,接收端为服务器端。
一般情况下我们会有多个客户端,一个服务器端。
UDP
使用UDP发送数据
1 | DatagramSocket ds = new DatagramSocket(); |
使用UDP接收数据
1 | DatagramSocket ds = new DatagramSocket(7878);//为什么接收的时候,需要直接指定端口号,而发送的时候,不是在这里指定 |
TCP
TCP发送端(客户端)
1 | Socket s = new Socket("xx.xx.xx",port); |
TCP接收端(服务器端)
1 | ServerSocket ss = new ServerSocket(port); |
注:转载文章请注明出处,谢谢~