快捷搜索:  汽车  科技

javasocket编程用释放资源吗(但是必不可少的一部分)

javasocket编程用释放资源吗(但是必不可少的一部分)是因为当客户端发送关闭成功后。服务器再发送关闭成功。客户端是接收不到的。因为已经关闭了。为什么是服务器发送完可以关闭后,没有等客户端确认关闭成功,服务器就直接发送关闭成功呢?2) :Socket的连接步骤。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可分为三个步骤:服务器监听,客户端请求。连接确认。(如果加上数据交互 断开连接就是5个步骤)。1):服务器监听:是服务器端套接字并不定位具体的客户端的套接字,而是等待连接的状态,实时监控网络连接的状态。

1) :什么是socket?

网络上两个程序是通过一个双向的通信连接实现数据的交换。这个连接的一端被称为Socket。

建立网络通信连接至少要一个端口号。Socket本质是编程接口(API),对TCP/IP的封装。TCP/IP也要提供可供程序员做网络开发所用的接口。这就是Socket编程接口。HTTP是轿车,提供了封装或显示数据的具体形式。Socket是发动机,提供了网络通信的能力。

Socket是"套接字"。用于描述IP地址和端口,是一个通讯链的句柄。可以用来实现不同计算机之间的通信。每一台主机运行了多个服务软件,可以同时提供几种服务,每种服务都会打开一个Socket。并绑定到一个端口上,不同的端口对应不同的服务。就像一个插板。每一个Socket就是一个插口。有的插口是提供220伏的交流电。有的是提供110伏的交流电。

2) :Socket的连接步骤。

根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可分为三个步骤:服务器监听,客户端请求。连接确认。(如果加上数据交互 断开连接就是5个步骤)。

1):服务器监听:是服务器端套接字并不定位具体的客户端的套接字,而是等待连接的状态,实时监控网络连接的状态。

为什么是服务器发送完可以关闭后,没有等客户端确认关闭成功,服务器就直接发送关闭成功呢?

是因为当客户端发送关闭成功后。服务器再发送关闭成功。客户端是接收不到的。因为已经关闭了。

客户端:

我们知道连接的时候都是有一个客户端和服务器端。我们先看看客户端的Socket。

我们Java中提供的API。 Socket这个类就是代表客户端的socket。

客户端的思路是:

javasocket编程用释放资源吗(但是必不可少的一部分)(1)

我们通过代码来看下:

javasocket编程用释放资源吗(但是必不可少的一部分)(2)

服务器端:

服务器端对应的JavaAPI是ServerSocket。

思路:

1:创建服务器的Socker 在Java中对应的API是ServerSocket。

2:服务器只要获取到连接过来的客户端就可以和指定的客户端通信了。

3:建立好连接后,从socket中获取输入流,并建立缓冲区进行读取。

4:在服务器端就可以拿到并操作客户端发送过来的数据了。

5:关闭客户端的通信。

6:关闭服务器端的通信。

javasocket编程用释放资源吗(但是必不可少的一部分)(3)

输出结果:

javasocket编程用释放资源吗(但是必不可少的一部分)(4)

这就是Java Socket的基本知识,虽然在日常开发中用到的不是非常多,但是也是开发者必不可少的一项技能,所以接下来还会逐一的对服务端客户端进行介绍。

猜您喜欢: