博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java高级篇之网络通讯
阅读量:3964 次
发布时间:2019-05-24

本文共 1590 字,大约阅读时间需要 5 分钟。

一、了解现代流行的网络软件的基本架构

1、C/S,client/Server,客户服务器架构的软件

有专门的客户端软件,需要安装在客户电脑上,用户界面可以做得非常复杂,比如股票行情和交易软件。数据的传输量相对比较少,反映会比较快。用户必须要得到安装软件,安装后才能使用,QQ也属于此类。
2、B/S,browser/Server,浏览器服务器架构的软件。
没有客户户端软件,采用浏览器中的网页作为用户界面,受限于设计工具还有浏览器执行引擎,界面不可能太复杂。传输速度相对比较慢,每一次的访问都会完整的下载整份网页的代码也包括数据,占据的带宽比较大,流量的消耗也比较大。它不用安装客户端,用户只需要电脑有浏览器知道系统的访问地址就可以使用了。现在,网络的流量很便宜,因此这种架构的系统大行其道,占据了网络应用程序市场的80%以上份额。

二、什么是网络通讯?

不同的主机之间通过网络媒介并基于特定的通讯协议实现双方的数据传输及交换。

三、通讯协议

通讯的双方需要共同遵守的传输数据的规范,一般 包括数据的格式,数据传输的顺序,需要交换的基础数据内容等。

在这里插入图片描述

1、tcp/ip 协议

Tcp是传输控制协议,ip是网际协议,tcp工作在传输层,ip工作在网络层。
Ip 协议有来寻址(找到另外一台主机)
Tcp 协议用来传输数据, 它实现了数据的可靠性传输,可以保证数据完整及时的到达目标节点。
Tcp协议在传输之前要实现两个端点之间可靠的连接,通过三次握手来完成连接的建立。如果传输结束了还需要进行四次挥手才能断开连接。它传输数据是通过数据包来传递的,数据包中包含目的地址,来源地址,数据长度,检验码,顺序码等。
它的适用场合包括文件传输,网上支付。
2、udp协议
用户数据报协议,它不需要建立连接,传输的包中包括了目的地址及源地址,它不管数据是否到达,这种协议传输速度非常快,但是不安全也不可靠,它的使用场合主要是象视频会议,视频聊天,QQ。

四、ip地址

Ip地址是网络上主机的唯一的地址标识,在通讯前需要找到对方,ip地址是找到对方的基本条件,象门牌号码。

现在主流的ip地址采用ipv4的编址方式,用四个字节一起来表示一份地址
现在互联网上的通讯基础要件一个是tcp协议,另一个就是ip地址。
如果一台电脑能够进行通讯 ,它一定有一个ip地址。
如何查看ip,使用ipconfig命令

Ip的四个字节每位可表示为0-255,因此最多可以表示42亿台主机。公网ip是紧俏资源。

全世界的ip分为三类,分别为A(第一字节表示网络地址),B(二个字节表示网络地址),C(用三个字节表示网络地址,)
有一个特殊的ip 127.0.0.1,表示本机内部的通讯ip,它在网络上不起作用。
有一个专用主机名 localhost,表示本机,可以与 127.0.0.1 划等号.

五、端口

在网络通讯中端口用来表示运行在主机中的进程。一台主机可以有多个具有通信功能的进程同时运行,为了防止混淆便于准确地找到某个进程,因此在通讯 过程中,用端口号来表示某个进程。

端口号用两个字节表示,0 — 65535,0-1023的范围已经被一些公用的程序使用,比如iis,ftp,email等。以后写程序时,定义的端口号要大于1023。
如果两个进程的端口号相同,会产生端口冲突,后启动的进程不能工作。
结论:如果要访问某台主机上的某个应用,必须采用ip+端口号的形式。
查询本机进程对应的端口,netstat -ano

六、Java所实现的网络通讯

1、通讯api在java.net包中.

2、基于tcp协议的通讯实现原理.

是基于C/S模型来实现的通讯,必须要有服务器端,同时还要有客户端,服务器和客户端之间必须先建立连接再进行数据的传输。数据传输功能的实现主要依赖于套接字。
在这里插入图片描述

七、利用Socket实现通讯

转载地址:http://mzzki.baihongyu.com/

你可能感兴趣的文章
Android MediaCodec小结
查看>>
详解YUV数据格式
查看>>
YUV格式说明
查看>>
MediaCodec and Camera: colorspaces don't match
查看>>
How to use Android MediaCodec encode Camera data(YUV420sp)
查看>>
android adb 读写模式 挂载文件系统
查看>>
onTouchEvent方法的使用
查看>>
Android详细解释键盘和鼠标事件
查看>>
Android设置默认Launcher
查看>>
Android判断GPS是否开启和强制帮用户打开GPS
查看>>
Android Studio中通过快捷键来提取提取方法
查看>>
和喜欢的女生聊天 15 分钟以后就找不到话题了怎么办?
查看>>
安卓4.0响应鼠标左右点击事件
查看>>
自定义dialog的布局样式
查看>>
android 之输入法
查看>>
Android4.0之后添加虚拟按键方法
查看>>
将自定义输入法设置为系统默认输入法
查看>>
Android Studio大课堂 - 6.2.打包 - 友盟多渠道包示例
查看>>
实用的欢迎页开源库 AppIntro
查看>>
Windows使用VNC viewer访问Ubuntu 14.04远程桌面的简单方法
查看>>