java网络编程总结篇(汇总18篇)

山崖发表网工作总结2024-03-14 11:38:0616

java网络编程总结篇 第1篇

插入一个换行符,表示写入的内容结束 () 字符流输出完毕后,需要手动刷新,否则数据不会进入到数据通道 () 客户端修改 服务端修改

客户端修改 服务端修改

java网络编程总结篇 第2篇

在现有的网络中,网络通讯的方式主要有两种:

1、 TCP(传输控制协议)方式

2、 UDP(用户数据报协议)方式

为 了方便理解这两种方式,还是先来看一个例子。大家使用手机时,向别人传递信息时有两种方式:拨打电话和发送短信。使用拨打电话的方式可以保证将信息传递给 别人,因为别人接听电话时本身就确认接收到了该信息。而发送短信的方式价格低廉,使用方便,但是接收人有可能接收不到。

在网络通讯中,TCP方式就类似于拨打电话,使用该种方式进行网络通讯时,需要建立专门的虚拟连接,然后进行可靠的数据传输,如果数据发送失败,则客户端会自动重发该数据。而UDP方式就类似于发送短信,使用这种方式进行网络通讯时,不需要建立专门的虚拟连接,传输也不是很可靠,如果发送失败则客户端无法获得。

重要的数据一般使用TCP方式进行数据传输,而大量的非核心数据则都通过UDP方式进行传递,在一些程序中甚至结合使用这两种方式进行数据的传递。

由于TCP需要建立专用的虚拟连接以及确认传输是否正确,所以使用TCP方式的速度稍微慢一些,而且传输时产生的数据量要比UDP稍微大一些。

java网络编程总结篇 第3篇

 前面介绍的服务器端程序,只是实现了概念上的服务器端,离实际的服务器端程序结构距离还很遥远,如果需要让服务器端能够实际使用,那么最需要解决的问题就是——如何支持多个客户端同时工作。

         一个服务器端一般都需要同时为多个客户端提供通讯,如果需要同时支持多个客户端,则必须使用前面介绍的线程的概念。简单来说,也就是当服务器端接收到一个连接时,启动一个专门的线程处理和该客户端的通讯。

java网络编程总结篇 第4篇

TCP

SYN攻击:

  在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行:

  #netstat -nap | grep SYN_RECV

TCP全双工,既能发送数据,又能接收数据,每个方向需要单独关闭

Socket读写数据的底层原理

滑动窗口协议

java网络编程总结篇 第5篇

网络中的URL(Uniform Resource Locator)是统一资源定位符的简称。它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。

URL可以被认为是指向互联网资源的“指针”,通过URL可以获得互联网资源相关信息,包括获得URL的InputStream对象获取资源的信息,以及一个到URL所引用远程对象的连接URLConnection。

URLConnection对象可以向所代表的URL发送请求和读取URL的资源。通常,创建一个和URL的连接,需要如下几个步骤:

创建URL对象,并通过调用openConnection方法获得URLConnection对象;

设置URLConnection参数和普通请求属性;

向远程资源发送请求;

远程资源变为可用,程序可以访问远程资源的头字段和通过输入流来读取远程资源返回的信息。

这里需要重点讨论一下第三步:如果只是发送GET方式请求,使用connect方法建立和远程资源的连接即可;如果是需要发送POST方式的请求,则需要获取URLConnection对象所对应的输出流来发送请求。

这里需要注意的是,由于GET方法的参数传递方式是将参数显式追加在地址后面,那么在构造URL对象时的参数就应当是包含了参数的完整URL地址,而在获得了URLConnection对象之后,就直接调用connect方法即可发送请求。

而POST方法传递参数时仅仅需要页面URL,而参数通过需要通过输出流来传递。另外还需要设置头字段。以下是两种方式的代码:

java网络编程总结篇 第6篇

1.简述

类的常用方法 UDP通信流程:

注意:发送端与接收端是两个独立的运行程序

代码实例:

java网络编程总结篇 第7篇

网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。

但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。

在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。

Server端和Client端都可以通过Send,Write等方法与对方通信。 

TCP Socket的通信过程如下图:

java网络编程总结篇 第8篇

此类表示用来发送和接收数据。

构造方法:

创建 Socket 对象,并随机分配一个端口号。

创建 Socket 对象,并指定端口号。

常用方法:

发送方法,并将数据包进行发送。

接收方法,接收数据包。

构造方法:

参数: byte[] 数据;数据长度。

参数: byte[] 数据;数据长度;接收端主机;接收端端口号。

常用方法:

获取数据信息。

获取数据信息的长度。

获取包中的主机。

获取包中的端口号。

端口号错误,数据可以正常发出,不会抛出异常,但是收不到数据。

常见异常:

java网络编程总结篇 第9篇

●基本介绍

●基本流程 5. 核心的两个类/对象,DatagramSocket 和 DatagramPacket; 6. 建立发送端,接收端(没有服务端和客户端概念); 7. 发送数据前,建立数据包/报 DatagramPacket对象; 8. 调用DatagramSocket的发送,接受方法; 9. 关闭DatagramSocket;

接收端 发送端

java网络编程总结篇 第10篇

            TCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。

            通过TCP协议传输,得到的是一个顺序的无差错的数据流。

            发送方和接收方的成对的两个socket之间必须建 立连接,

            以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,

            另一个socket可以要求进行连接,一旦这两个socket连接起来,

            它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。

            UDP是User Datagram Protocol的简称,是一种无连接的协议

            每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,

            因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

说到IP地址,就要引入一个类:InetAddress 此类表示互联网协议 (IP) 地址。

InetAddress类无构造方法

常用方法摘要

byte[] getAddress() 返回此 InetAddress 对象的原始 IP 地址。static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。String getHostAddress() 返回 IP 地址字符串(以文本表现形式)。String getHostName() 获取此 IP 地址的主机名。static InetAddress getLocalHost() 返回本地主机。 :本机地址,主要用于测试。别名:Localhost案例一

 案例二

结果 

查看端口

说到端口,则要引入一个类:InetSocketAddress

此类实现 IP 套接字地址(IP 地址 + 端口号)。

构造方法摘要                   

InetSocketAddress(InetAddress addr, int port) 根据 IP 地址和端口号创建套接字地址。InetSocketAddress(int port) 创建套接字地址,其中 IP 地址为通配符地址,端口号为指定值。InetSocketAddress(String hostname, int port) 根据主机名和端口号创建套接字地址。常用方法摘要InetAddress getAddress() 获取 InetAddress。String getHostName() 获取 hostname。int getPort() 获取端口号。

案例           

URI=URL+URN

URI:Uniform Resource Identifier ,统一资源标志符。 URL:Uniform Resource Locator,统一资源定位符。 URN:Uniform Resource Name,统一资源命名。

URL类     构造方法摘要             

URL(String spec) 根据 String 表示形式创建 URL 对象。URL(String protocol, String host, int port, String file) 根据指定 protocol、host、port 号和 file 创建 URL 对象。URL(String protocol, String host, String file) 根据指定的 protocol 名称、host 名称和 file 名称创建 URL。      常用方法摘要                                  

String getAuthority() 获取此 URL 的授权部分。int getDefaultPort() 获取与此 URL 关联协议的默认端口号。String getFile() 获取此 URL 的文件名。String getHost() 获取此 URL 的主机名(如果适用)。String getPath() 获取此 URL 的路径部分。int getPort() 获取此 URL 的端口号。String getUserInfo() 获取此 URL 的 userInfo 部分。

案例

java网络编程总结篇 第11篇

网络编程 就是用程序来实现不同设备之间的信息交互。

IP地址、端口号、传输协议(TCP、UDP)。

IP地址:网络设备中的编号,为了方便在网络中找到这台设备。

端口号:程序的编号,为了方便找到这个程序(0~65536)。

传输协议:通讯的规范(UDP、TCP)。

第一次握手,发送同步报文(SYN);

第二次握手,发送应答报文和同步报文(SYN + ACK);

第三次握手,发送应答报文(ACK)。

第一次挥手,发送应答报文和结束报文(ACK + FIN);

第二次握手,发送应答报文(ACK);

第三次握手,发送应答报文和结束报文(ACK + FIN);

第四次握手,发送应答报文(ACK)。

数据在网络中进行传输是通过 Socket 来实现, Socket 是一个介质。通信的两端都要有一个 Socket 才能通信。

Socket 也用于描述IP地址和端口,也就是一个通信链的句柄。

java网络编程总结篇 第12篇

首先理清一个概念:网络编程不等于网站编程,网络编程即使用套接字来达到进程间通信,现在一般称为TCP/IP编程。

计算机网络:

把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等资源。

计算机网络的主要功能:

资源共享 信息传输与集中处理 均衡负荷与分布处理 综合信息服务(www / 综合业务数字网络 ISDN) 计算机网络三高问题: 高并发,高性能,高可用。

计算机网络分类:

局域网 城域网 广域网 互联网 等等… (Local Area Network;LAN) 通常我们常见的“LAN”就是指局域网,这是我们最常见、应用最广的一种网络

计算机网络中实现通信必须有一些约定,即通信协议;包括对速率,传输代码,代码结构,传输控制步骤,出错控制等制定的标准。

网络通信接口:

为了使两个节点之间能进行对话,必须在他们之间建立通信工具(即接口),使彼此之间,能进行信息交换。接口包括两部分:

硬件装置:实现结点之间的信息传送 软件装置:规定双方进行通信的约定协议 三、通信协议分层思想 为什么要分层:

由于结点之间联系很复杂,在制定协议时,把复杂成份分解成一些简单的成份,再将它们复合起来。最常用的复合方式就是层次方式,及同层间可以通信,上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。

通信协议的分层规定:

把用户应用程序作为最高层,把物理通信线路作为最底层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。

为什么要分层:

由于结点之间联系很复杂,在制定协议时,把复杂成份分解成一些简单的成份,再将它们复合起来。最常用的复合方式就是层次方式,及同层间可以通信,上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。

java网络编程总结篇 第13篇

https

对称加密:AES,DES

非对称加密:RSA,DSA

哈希算法:MD5,SHA256,不可逆

数字签名:就是在信息后加上一段字符串(hash后的值),用来判断信息是否被修改

场景:正式场景中一般使用对称加密和非对称加密结合,使用非对称加密完成密钥传输,对称加密完成数据的加密和解密

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

java网络编程总结篇 第14篇

为了能够方便的识别网络上的每个设备,网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址。在计算机网络中,现在命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4个0-255之间的数字组成,例如。每个接入网络的计算机都拥有唯一的IP地址,这个IP地址可能是固定的,例如网络上各种各样的服务器,也可以是动态的,例如使用ADSL拨号上网的宽带用户,无论以何种方式获得或是否是固定的,每个计算机在联网以后都拥有一个唯一的合法IP地址,就像每个手机号码一样。

        在网络中传输的数据,全部是以IP地址作为地址标识,所以在实际传输数据以前需要将域名转换为IP地址,实现这种功能的服务器称之为DNS服务器,也就是通俗的说法叫做域名解析。例如当用户在浏览器输入域名时,浏览器首先请求DNS服务器,将域名转换为IP地址,然后将转换后的IP地址反馈给浏览器,然后再进行实际的数据传输。

当DNS服务器正常工作时,使用IP地址或域名都可以很方便的找到计算机网络中的某个设备,例如服务器计算机。当DNS不正常工作时,只能通过IP地址访问该设备。所以IP地址的使用要比域名通用一些。

在介绍端口的概念以前,首先来看一个例子,一般一个公司前台会有一个电话,每个员工会有一个分机,这样如果需要找到这个员工的话,需要首先拨打前台总机,然后转该分机号即可。这样减少了公司的开销,也方便了每个员工。在该示例中前台总机的电话号码就相当于IP地址,而每个员工的分机号就相当于端口。

         有了端口的概念以后,在同一个计算机中每个程序对应唯一的端口,这样一个计算机上就可以通过端口区分发送给每个端口的数据了,换句话说,也就是一个计算机上可以并发运行多个网络程序,而不会在互相之间产生干扰。

         有了IP地址和端口的概念以后,在进行网络通讯交换时,就可以通过IP地址查找到该台计算机,然后通过端口标识这台计算机上的一个唯一的程序。这样就可以进行网络数据的交换了。

         最后再介绍一个网络编程中最重要,也是最复杂的概念——协议(Protocol)。按照前面的介绍,网络编程就是运行在不同计算机中两个程序之间的数据交换。在实际进行数据交换时,为了让接收端理解该数据,计算机比较笨,什么都不懂的,那么就需要规定该数据的格式,这个数据的格式就是协议。

java网络编程总结篇 第15篇

Java中提供了两个类用于TCP通信程序

客户端:

​ -> 客户端套接字

​ 套接字:包含了IP地址和端口号的网络单位

服务端:

​ ->服务器套接字

注意: 运行时,必须先运行服务器端,再运行客户端.

看完这么多,想必大家多少有点收获吧,那就检测一下,加深印象吧! 小练习:利用io流,将一个文件“复制”到另外的路径下,具体操作如下图所示。

URL(Uniform Resource Locator)

​ 统一资源定位符,由4个部分组成: 协议 , 存放资源的主机域名, 端口号 和 资源文件名

URL是指向互联网_资源_的指针.

​ 资源可以是简单的文件或目录,也可以是对很为复杂的对象的引用,例如:对数据库或搜索引擎的 查询.

​ 我们开发的网络应用程序位于应用层,TCP和UDP属于传输层协议,在应用层和传输层之间,则是使用套接字来进行分离的.

​ 套接字就像传输层为应用层开的小口,应用层通过这个小口像远程发送数据,或接收远程发送来的数据;而这个小口以内,也就是数据进入到这个小口之后,或者数据从这个小口出来之前,是不知道也不需要知道的,也不会关心它如何传输,这属于网络其他层次的工作.

​ Socket实际是传输层给应用层的编程接口.传输层则在网络层的基础上提供进程到进程间的逻辑通道,而应用层的进程则利用传输层向另一台主机的某一程序进程通信. Socket就是应用层和传输层之间的桥梁

​ 使用Socket编程可以开发客户机和服务器应用程序,可以在本地网络上进行通信,也可以通过Internet在全球范围内通信.

​ Socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。

​ 套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。

java网络编程总结篇 第16篇

网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。

Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,

一个Socket由一个IP地址和一个端口号唯一确定。

但是,Socket所支持的协议种类也不光TCP/IP一种,因此两者之间是没有必然联系的。

在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程。

Server端Listen(监听)某个端口是否有连接请求,Client端向Server 端发出Connect(连接)请求,

Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。

Server端和Client 端都可以通过Send,Write()等方法与对方通信。

对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:

1. 创建Socket;

2. 打开连接到Socket的输入/出流;

3. 按照一定的协议对Socket进行读/写操作;

4.关闭Socket.(在实际应用中,并未使用到显示的close,虽然很多文章都推荐如此,不过在我的程序中,可能因为程序本身比较简单,要求不高,所以并未造成什么影响。)

创建Socket在java包中提供了两个类Socket和ServerSocket,

分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用很方便。其构造方法如下:

客户端类的构造器:

       Socket(InetAddress address, int port);

Socket(InetAddress address, int port, boolean stream);

Socket(String host, int prot); //主要使用

Socket(String host, int prot, boolean stream);

Socket(SocketImpl impl)

Socket(String host, int port, InetAddress localAddr, int localPort)

Socket(InetAddress address, int port, InetAddress localAddr, int localPort)服务端类的构造器:

       ServerSocket(int port);  //主要使用

ServerSocket(int port, int backlog);

ServerSocket(int port, int backlog, InetAddress bindAddr)

其中address、host和port分别是双向连接中另一方的IP地址、主机名和端 口号,stream指明socket是流socket还是数据报socket,localPort表示本地主机的端口号,localAddr和 bindAddr是本地机器的地址(ServerSocket的主机地址),impl是socket的父类,既可以用来创建serverSocket又可 以用来创建Socket。count则表示服务端所能支持的最大连接数。例如:

Socket client = new Socket(__, 5555);  任何时候都代表本机IP地址,5555是自定义的端口号

ServerSocket server = new ServerSocket(5555);

注意,在选择端口时,必须小心。每一个端口提供一种特定的服务,

只有给出正确的端口,才 能获得相应的服务。

0~1023的端口号为系统所保留,例如http服务的端口号为80,telnet服务的端口号为21,ftp服务的端口号为23, 

所以我们在选择端口号时,最好选择一个大于1023的数以防止发生冲突。

在创建socket时如果发生错误,将产生IOException,在程序中必须对之作出处理。所以在创建Socket或ServerSocket是必须捕获或抛出例外。

程序实现的功能:

(1)服务器在每一台客户端登陆的时候:发送一条短信给客户端“服务器正在向你发送消息!”,然后在服务器端显示连接上的客户端主机地址。

(2)客户端连接上了,会接收到一条短信,并且可以对服务器一直进行发送短信。

(3)服务器可以一直接收客户端的短信。

(4)这里服务器只写一句话,但是想要像客户端那样一直写也是可以的,改一下就可以了。1. 服务器端程序的编写

服务器的启动:

2. 客户端程序的编写

启动客户端:

程序中要先开启服务端,在开启客户端,否则会报错!

还有就是一般的电脑是动态的IP地址,每天都在变化。要注意修改!

在实际应用 中,往往是在服务器上运行一个永久的程序,它可以接收来自其他多个客户端的请求,

提供相应的服务。服务器总是在指定的端口上监听是否有客户请求,一旦监听到客户请求,

服务器就会启动一个专门的服务线程来响 应该客户的请求,

而服务器本身在启动完线程之后马上又进入监听状态,等待下一个客户的到来。

并且每一个用户对应一个固定的线程来接收信息。

服务器还会把接收到的信息发送给所有连接上的客户端。

示例:多人聊天室的实现:

1.服务器端的设计

启动服务端:

2.客户端的设计

这个和上个例子的客户端的设计基本一样,就不再重复粘贴了。

总结:上面主要是对java网络编程Socket接口类的使用,

还有TCP协议的应用(Socket的主要应用),

当然TCP还有一个比较主要的应用就是文件传输,

其中涉及到比较复杂的字符串处理(接收前和接收后都要),

有兴趣的可以自己设计一下。  

java网络编程总结篇 第17篇

网络 : 连接计算机,共享资源,交换数据等.

Client/Server ,客户端和服务器端结构 eg:QQ,微信

Brower/Server,浏览器和服务器端结构 eg:谷歌,火狐

两种架构各有优势,但无论那种架构都离不开网络的支撑

网络编程,就是在一定的协议下,实现两台计算机及的通信的程序

为了在网络中不同的计算机之间进行通信而建立的规则,标准,约定的集合.

在计算机网络中,通信双方必须同时遵守才能完成数据的交换

对数据的传递格式,传输的速率,传输的步骤等等都做了统一的规定.

传输控制协议/因特网互联协议,是Internet最基本,最广泛的协议

​ 定义了计算机如何连接到因特网,以及数据如何在它们之间传输的标准,它的内部包含一系列用于处理数据通信的协议,并采用4层分层模型,每一层呼叫它的下一层锁提供的协议来完成自己的需求

补充:>>> OSI七层模型:

**物理层:**利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 **数据链路层:**负责建立和管理节点间的链路。 **网络层:**通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。 **传输层:**向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。 **会话层:**向两个实体的表示层提供建立和使用连接的方法。 **表示层:**处理用户信息的表示问题,如编码、数据格式转换和加密解密等。 **应用层:**直接向用户提供服务,完成用户希望在网络上完成的各种工作。

传输控制协议(Transmission Control Protocol)

​ TCP协议是面向连接的通信协议,传输数据之前,在发送和接收端建立逻辑连接,然后传输数据,保证两台计算机之间准确无误的数据传输

​ 在TCP连接中必须要明确客户端和服务器端由客户端向服务器端发出连接请求,每次连接的创建都需要经过_三次握手_.

​ 三次握手: TCP协议中,在发送数据的准备阶段,客户端与服务端之间的三次交互,以保证连接的可靠.

​ 完成三次握手,连接建立后,客户端和服务器端就可以进行数据传输了,由于面向连接的特性,TCP协议可以保证传输数据的安全,所以应用比较广泛.

用户数据包协议(User Datagram Prorocol)

​ UDP是无连接通信协议

​ 简言之,当一台计算机向另一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在接收数据时,也不会向发送端返回是否收到数据的信号

由于使用UDP消耗资源小,通信效率高,所以通常音频,视频和普通数据的传输,eg:视频会议都是用UDP协议,因为这种场景偶尔丢失一两个数据包,也不会对接收数据产生太大的影响.

但是在使用UDP传输数据时,由于UDP的面向无连接,不能保证数据的完整,因此在传输重要数据时不建议使用UDP协议.

特点 : 数据被限制在64kb以内,超出该范围就不能发送了.

**TCP:**传输控制协议(Transmission Control Protocol),是面向连接的通信协议.

优点: 因为是面向连接的传输,端口和端口进行匹配,所以数据传输比较稳定,以字节的形式传输数据.

缺点: 因为连接是需要”三次握手”,所以传输的速度较慢

UDP:(UserDatagram Protocol)是一种无连接的协议,每个数据包都是独立的

优点: 传输速率快,效率高

缺点: 数据容易丢失

计算机网络通信必须遵守的规则.

互联网协议地址,IP就是用来给网络中的计算机设备做唯一编号

IPv4 :是一个32位的二进制数,通常分为4个字节,表示成

​ eg :

​ a,b,c,d分别都是0~255之间的十进制整数,最多可以表示42亿个.

IPv6:由于互联网的发展,IP地址的需求量增大,但是网络地址资源有限,为了扩展,采用v6,采用了128位地址长度,没16个字节为一组,分为8组的十六进制 ,表示为: 1234:5678:ABCD:EF01: 1234:5678:ABCD:EF01,可以给世界上每一粒沙子进行编地址,解决了IP匮乏的问题.

查看本机的IP地址, 输入:

查看网络是否连接, 输入:

网络的通信

本质上就是两个进程(应用程序)之间的通信,每台计算机上都有很多进程.

区分各个进程 : 端口号

![在这里插入图片描述](_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5p-SMDAwNw==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

访问网站时,为什么输入的是网址而不是IP地址?

因为域名好记,并且域名可以通过DNS解析成IP

DNS : Donmain Name System,域名系统

通常在网络环境下,具有较高的计算能力,能够提供用户服务的计算机

eg : Tomcat (http协议 : 简单的文本传输协议)

java网络编程总结篇 第18篇

1.简述 Java语言的基于套接字Socket编程,分为客户端和服务端

2.客户端Socket的工作过程

说明:

3.服务器端Socket的工作过程:

说明:

代码实例:

显示全文

注:本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即后台留言通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意

点击下载文档

文档为doc格式

发表评论

评论列表(7人评论 , 39人围观)

点击下载
本文文档