socket编程中常见的概念问题!

Posted 程序员的小傲娇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket编程中常见的概念问题!相关的知识,希望对你有一定的参考价值。

socket编程一般指的就是网络编程,常见的服务端和客户机都是必不可少的,今天小千就来给大家介绍一下socket编程中常见的概念问题。

一、常见传输协议

1、tcp协议

TCP (Transmission Control Protocol,传输控制协议):“面向连接 ”,可靠的、基于字节流的运输层(Transport layer)通信协议 。

面向连接服务要经过三个阶段:数据传数前,先建立连接,连接建立后再传输数据,数据传送完后,释放连接。面向连接服务,可确保数据传送的次序和传输的可靠性。

2、udp协议

UDP(User Datagram Protocol ,用户数据包协议):“面向非连接”,在正式通信前不必与对方先建立连接,不管对方状态就直接发送。

无连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。

3、IP协议

IP( Internet Protocol ):计算机网络相互连接进行通信而设计的协议。互联网地址或Internet地址。是用来唯一标识互联网上计算机的逻辑地址。
在这里插入图片描述

二、URL实现网页静态化

类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。利用他可以获得网络资源,读取WWW服务器上的数据。

这里我们将读取到的数据转换为流,然后保存到本地(类似网页静态化)。
在这里插入图片描述

三、TCP套接字

为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。

Socket可以看作是通信连接两端的收发器。
在这里插入图片描述
套接字,Socket是网络上运行的程序之间双向通信链路的端点。Socket所要完成的通信就是基于连接的通信,建立连接所需的程序分别运行在客户端和服务器端。套接字连接就是客户端的套接字对象和服务器端的套接字对象通过输入/输出流连接在一起。

1、TCP套接字

在Java中,套接字(通信端点)被抽象为类,我们只需要创建Socket类的对象,就可以使用套接字。Socket中有输入输出流对象,同时能实现服务器之间的数据传输。

2、Socket部分

通过将这3个参数结合起来,与一个Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

一个程序(Program B )将一段信息写入Socket中,该Socket将这段信息发送给另外一个Socket(Program A)中,使这段信息能传送到其他程序中。

Socket工作步骤:

a、建立连接

在服务器端通过指定一个用来等待的连接的端口号创建一个 ServerSocket实例.

在客户端通过主机和端口号创建一个 socket实例,连到服务器上.

ServerSocket类的accept方法使服务器处于阻塞状态,等待用户请求

b、数据通信

建立socket连接后,还应该建立输入输出数据流,客户程序可以向Socket写入请求,服务器程序处理请求,并把处理结果通过Socket返回给客户端,完成通过虚拟通道的数据通信;

c、拆除连接

通信结束,将所建立的虚拟连接全部拆除。

以上就是关于Java socket编程的介绍了,希望能帮到大家。

本文来自千锋教育,转载请注明出处。

以上是关于socket编程中常见的概念问题!的主要内容,如果未能解决你的问题,请参考以下文章

网络编程TCP/UDP(socket编程)

Unity网络编程(一)常见概念

socket网络编程

IO之Socket网络编程

Linux Socket编程注意事项

网络编程的基本概念