Java——网络编程三要素

 * A:计算机网络*  是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。* 其实我们这些网,之所以能够连接,是因为在美国、日本、中国......很多国家,海底都有光缆,这个海底光缆都是连通的;如果由于海啸或者地震导致海底光缆断开,那么,全世界的网就会受到影响* 而我们手机上网使用的3G、4G,这些网络都是由于信号塔的作用,需要搭建信号塔,这些信号塔是通过卫星发射信号的,所以你就可以去接收这些3G、4G信号* 现在联通在3G这块很牛掰,但是移动在4G这块快把联通给快干败了* * B:网络编程*  就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。* 我电脑上的东西想要传给你,只要有网就,可以传给你,无论是局域网还是互联网都是可以相互传递的,这就是网络编程
 * 网络编程三要素之 IP* 通过IP找对应的设备地址* IPv4:有4个段位,每个段位都在0·255之间* 每个设备在网络中都有唯一的一个标识* 每台网络终端在网络中都有一个独立的地址,我们在网络中传输数据就是使用这个地址* 在DOS模拟器下的几个命令:*      ipconfig:查看本机IP*      ping:测试连接(测试你有没有跟外网连接上,或者测试局域网有没有通,我的电脑跟你的电脑有没有连接上(需要拿到对方的IP地址即可))*      本地回路地址:127.0.0.1*      广播地址:255.255.255.255* * 一面向社会出来的时候直接就是IPv4,至于有没有IPv1,IPv2,IPv3小编就不知道了~~* IPv4:由4个字节组成,40~255,大概是43亿,其中30亿都在北美,亚洲有4亿,2011年初已经用尽* 43亿:一个0~255代表2564294967296=256*256*256*256* 30亿在北美,因为IP地址就是人家老外研究出来的,所以30亿在北美* 亚洲有4亿,4亿对于亚洲来说太少了* 2011年初IPv4已经用尽了,所以正在向IPv6转* IPv6:8组,每组是416进制数* 例如:                              1a2b:0000:aaaa:000000000000:aabb:1f2f* 若是0000,也可以省略,用:代替        1a2b::aaaa:000000000000:aabb:1f2f         一查只有7位,所以可以得知两个::之间省略一个0000*                                    1a2b:0000:aaaa::aabb:1f2f                     一查只有5位,所以可以得知两个::之间省略三个0000* 可以省略前面的0000或者是后面的0000,但不能前后都省略掉* * * 但是在转型的过程中,即由IPv4转型为IPv6这是个漫长的过程;跟当年的WindowsXP系统要转型成Win7、Win10系统一样,都是个漫长的过程* 在企业里面,有一些硬件它是比较老旧的,如果你装的是一个低版本的系统,那它(低版本的系统)会支持你去运行,* 如果你装的是一个高版本的系统,那么可能那个硬件就支持不了了,这样,就意味着你要去做一系列的跟换,这是有成本的,* 所以企业在做这样的更换的时候,会逐渐一点点的进行,所以说会是一个漫长的过程
 * 网络编程三要素之 端口号* 通过端口找具体的那个程序* 两台设备通过互相识别IP进行连接,然后再通过端口号进行数据交换;例如:两台电脑上都有QQ、微信、feiQ等聊天工具,一台电脑上,从QQ上说句话,另一台电脑接收的是QQ,而不是微信、feiQ接到* 原因是:首先找的的是IP地址,通过IP地址找到那台电脑,然后再找端口号,(端口号,就相当于具体的教室,例如去一个地方学习,首先得找的具体的办公楼,然后在去找具体的教室,这个具体的教室,就相当于是端口号,办公楼就相当于是IP地址)* * 每个程序在设备上都有唯一的标识* 每个网络程序都需要绑定一个端口号,传输数据的时候除了确定发到哪台机器上,还要明确发到哪个程序* 端口号范围从0~65535* 编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。(也并不是都被系统占用了,只是说有几率被系统给占用)* 常用端口:*      MySQL:3306*      Oracle:1521*      web:80*      Tomcat:8080*      QQ:4000*      feiQ:2425
 * 网络编程三要素之 协议* 协议:为计算机网络中,进行数据交换而建立的规则,标准或约定的集合* 协议有UDP和TCP协议* UDP:*          面向无连接、数据不安全、速度快、不区分客户端与服务端* TCP:*          面向连接(三次握手)、数据安全、速度略慢、分为客户端与服务端*          三次握手:客户端先向服务端发起请求、服务端响应请求、传输数据* UDP可以比作为发短信:我再给你发短信你可以不开机,这个号码也可以不存在,就是在这个世界上没有这种号码,随便给你个号码发条短信,这也是可以发送出去的* 它面向无连接,不用担心对方在还是不在;数据不安全,这有可能是数据发丢了;速度快,因为我不用管你在不在;不区分客户端与服务端,我可以给你发,你也可以给我发* * TCP的三次握手,相当于手机打电话,首先我给你拨号码,你是必须要在的,这就是所谓的面向连接,你要是关机或者是没有这个号码,我就打不过去,所以,你必须要在的* 然后,我给你拨电话,数据是安全的但是速度是略慢的,因为我必须保证你在,我才能拨的过去;分为顾客端和服务端,一面是顾客端一面是服务器* 比如说,你去浏览一个论坛,当你去浏览论坛的时候,是先做了一次请求,那么服务器那边接收了之后,它给你来个响应,然后,你就可以和这边交换数据了* 第一次是客户端向服务器发出请求;第二次是服务器响应客户端;第三次就是传输数据;这就是三次握手* 相对于是安全的,假如说我这边服务器关掉了,你开始请求,没请求到,那就访问不了,所以说,它是面向连接,数据安全的* HTTP协议,底层用的就是TCP协议,也是要遵循三次握手* 三次握手也可以比作:第一次,你愁啥?第二次,我瞅你咋地?第三次,来,咱来唠唠。* 也可以说比作:第一次,约吗?第二次,约。第三次,然后就去了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python安全攻防---爬虫基础--re解析数据

0x01 re基础 使用re模块,必须先导入re模块 import refindall():匹配所有符合正则的内容,返回的是一个列表 import restr "我的电话:10086,女朋友电话:11011" list re.findall(\d,str) print…

BSP for good 3d engine

1.open sourcehttp://irrlicht.sourceforge.net/downloads/ 2.不错的小材质http://www.permadi.com/tutorial/webgraph/index.html 3.java bsp display(demo):http://www.symbolcraft.com/graphics/bsp/index.php http://www.faqs.org/faqs/graphics/bsptree-faq/ 4.a bps ill…

Java InputStreamReader getEncoding()方法及示例

InputStreamReader类的getEncoding()方法 (InputStreamReader Class getEncoding() method) getEncoding() method is available in java.io package. getEncoding()方法在java.io包中可用。 getEncoding() method is used to get the encoding name avail for this InputStrea…

python安全攻防---爬虫基础---BeautifulSoup解析

0x01 基础 使用bs4首先要安装,安装后导入 import bs4bs对象有两个方法,一个是find,另一个是find_all find(标签名,属性值):只返回一个,返回也是bs对象,可以继续用find…

DataRabbit 3.1发布,完全支持SqlServer2005/2008

增加了对SqlServer2005/2008的新的数据类型的支持,如uniqueidentifier、time、sql_variant等。另外,EntityCreator也一起更新--不再强迫为Entity生成ToString()方法,使用者可以主动选择是否要生成。 DataRabbit 3.1 下…

Java——Socket通信原理

* Socket通信原理图解* A:Socket(中文翻译为:电源插座)套接字概述* 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识套接字* 通信的两端都有Socket(两端都是电源插座,中间是啥?不就是电线啦,电…

asp.net链接mysql数据库------------【个人收集】

在web.config文件中添加如下样式的数据库链接字符串&#xff1a; <add name"dbconnection" connectionString"DataBasedatabasename;Server127.0.0.1;Uid用户名;Pwd密码;character setgbk;" providerName"MySql.Data.MySqlClient"/></c…

sql2005 远程连接

SQL Server 2005 不允许远程连接解决方法转载于:https://www.cnblogs.com/lcq135/archive/2008/11/06/1328380.html

Java GregorianCalendar computeTime()方法与示例

GregorianCalendar类computeTime()方法 (GregorianCalendar Class computeTime() method) computeTime() method is available in java.util package. java.util包中提供了computeTime()方法 。 computeTime() method is used to compute the calendar fields to the calendar …

python安全攻防---scapy基础---计算机网络各层协议

网络层次划分 比较常用的是TCP/IP五层协议。 0x01应用层 应用层是网络应用程序以及它们的应用层协议存留的地方。应用层协议和应用程序直接挂钩 DHCP(Dynamic Host Configuration Protocol)动态主机分配协议&#xff0c;使用 UDP 协议工作&#xff0c;主要有两个用途&#xf…

一点心得(0)

1, 在C中&#xff0c;如果栈里的空间不足的话&#xff0c;要考虑用new命令在堆上动态生成数据&#xff0c;比如说保存所有无符号整数型的bitset&#xff0c;得用bitset<UINT_MAX1>* bs new bitset<UINT_MAX1>;来声明定义&#xff0c;最后别忘了delete掉。 2, make…

Java——UPD输出及优化再优化

* UPD传输不区分客户端跟服务端&#xff0c;* 这里用Send和Receive这两个方法决定谁发谁收 * 1.发送Send * 创建DatagramSocket,随机端口号* 创建DatagramPacket,指定数据、长度、地址、端口* 创建DatagramSocket发送DatagramPacket* 关闭DatagramSocket 代码如下&…

FLEX:图形制作皮肤vs编程制作皮肤

Styles&#xff08;样式&#xff09;提供了一个可以自定义flex外观的层.可以图形制作皮肤&#xff0c;也可以编程实现. &#xff08;小小菜鸟翻译&#xff09; 图形制作皮肤的 优点是 很容易实现&#xff0c;通过位图&#xff0c;矢量图&#xff0c;swf。 缺点是功能有限。…

Java文件类boolean canExecute()方法(带示例)

文件类boolean canExecute() (File Class boolean canExecute()) This method is available in package java.io.File.canExecute(). 软件包java.io.File.canExecute()中提供了此方法。 This method is used to execute the file and the file is represented by the abstract …

python安全攻防---scapy使用

导入scapy包 from scapy.all import *构造包 a Ether()/IP(dst114.114.114.114)/TCP(dport80)/应用层数据我们如果记不得每个包的选项使&#xff0c;可以使用show()来查看 print(a.show())发送包 sr(IP(dst‘192.168.1.0/24’)/TCP(dport(1,65535)), timeout2) &#xff1…

唉!

学习到后面时&#xff0c;再返回看了一下前面学过的&#xff0c;发现以前学过&#xff0c;看不懂的东西现在能看懂了…… &#xff01;不过 为什么在刚学时就是不懂&#xff0c;这样 不就老是慢一拍吗&#xff1f;唉&#xff01;&#xff01;转载于:https://www.cnblogs.com/ni…

Java—— TCP协议(相关代码实现以及相关优化)

代码运行的时候先运行服务端&#xff0c;然后在运行客户端 * TCP协议&#xff1a;* 1&#xff0c;客户端* 创建Socket连接服务器(指定IP地址&#xff0c;端口号)通过IP地址找到对应的服务器* 调用Socket的getInputStream()和getOutputStream()方法获取和服务器端相连…

什么是adsense 想通过广告挣钱的看过来

Adsense的含义Google AdSense是由Google公司推出的针对网站主&#xff08;简称发布商&#xff09;的一个互联网广告服务。AdSense是个合成词。其中ad是“广告”之意&#xff0c;sense是“感知”之意&#xff0c;综合起来的意思就是相关广告。Google通过程序来分析网站的内容&am…

Java GregorianCalendar getTimeZone()方法与示例

GregorianCalendar类的getTimeZone()方法 (GregorianCalendar Class getTimeZone() method) getTimeZone() method is available in java.util package. getTimeZone()方法在java.util包中可用。 getTimeZone() method is used to return the time zone for this GregorianCale…

python安全攻防---信息收集---ICMP主机探测 以及optionparser的使用

0x01 基础概念 ICMP&#xff08;Internet control Message Protocal&#xff09;Internet报文协议&#xff0c;是TCP/IP的一种子协议&#xff0c;属于网络层协议&#xff0c;其目的是用于在IP主机、路由器之间传递控制信息 0x02 程序 程序 # -*- coding:utf-8 -*- from sca…