ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-05-18 10:02:38  阅读:130  来源: 互联网

标签:编程 socket 常见 通信 接字 连接 Socket


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

      一、常见传输协议

      1、tcp协议

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

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

      2、udp协议

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

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

      3、IP协议

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

1

      二、URL实现网页静态化

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

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

2

      三、TCP套接字

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

      Socket可以看作是通信连接两端的收发器。

3

      套接字,Socket是网络上运行的程序之间双向通信链路的端点。Socket所要完成的通信就是基于连接的通信,建立连接所需的程序分别运行在客户端和服务器端。套接字连接就是客户端的套接字对象和服务器端的套接字对象通过输入/输出流连接在一起。

      2、TCP套接字

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

      3、Socket部分

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

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

      Socket工作步骤:

      a、建立连接

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

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

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

      b、数据通信

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

      c、拆除连接

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

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

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

标签:编程,socket,常见,通信,接字,连接,Socket
来源: https://blog.51cto.com/u_15128702/2782815

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有