首页 > 其他分享 >socket与TCP/IP区别

socket与TCP/IP区别

时间:2024-08-28 23:14:41浏览次数:13  
标签:socket IP 服务器端 TCP 接字 连接 客户端

一、socket:

1、准确表述:

  • socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

2、详细介绍

(1)套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

(2)应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协 议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以 和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

3、socket连接

(1)建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。

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

  • 服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
  • 客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
  • 连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户 端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

二、TCP/UDP

(1)TCP/IP只是一个协议栈

标签:socket,IP,服务器端,TCP,接字,连接,客户端
From: https://www.cnblogs.com/wllwqdeai/p/18385693

相关文章

  • JavaScript变量和数据类型
    一、变量1、简介​在程序运行过程中其值可以改变的量,是一个数据存储空间的表示,即给内存空间起别名​将数值通过变量进行存储,以便程序随时使用,通俗点来说,变量就是用来存储数据的​JavaScript是弱变量类型的语言,声明变量只需要使用var关键字​语法:var变量名=变量值;<s......
  • 并行处理的魔法:PyTorch中torch.multiprocessing的多进程训练指南
    并行处理的魔法:PyTorch中torch.multiprocessing的多进程训练指南在深度学习领域,模型训练往往需要大量的计算资源和时间。PyTorch,作为当前最流行的深度学习框架之一,提供了torch.multiprocessing模块,使得开发者能够利用多核CPU进行多进程训练,从而显著加速训练过程。本文将深......
  • TCP并发服务器
    一、整体框架二、服务器单循环服务器:同一时刻,只能处理一个客户端的任务并发服务器:同一时刻,只能处理多个客户端的任务UDP是具备并发性的,是因为UDP是无连接的,所以处理器可以处理过来TCP实际上是单循环的服务器,只能建立一对一连接,其他人不能再与其建立连接,之前只有一个套......
  • JavaScript 模块化开发:ES6 模块与 CommonJS 的对比与应用
    ​​您好,我是程序员小羊!前言随着前端项目规模的增长,代码组织和管理变得越来越复杂。模块化开发成为解决这一问题的有效手段,能够帮助开发者将代码进行分割、复用和维护。JavaScript在发展过程中出现了多种模块化规范,其中最为广泛使用的有ES6模块(也称为ESModules)......
  • JavaScript学习文档(9):事件流、事件委托、其他事件、元素尺寸与位置
    目录一、事件流1、事件流的两个阶段2、事件捕获3、事件冒泡4、阻止冒泡5、解绑事件(1)解绑事件(2)鼠标经过事件区别二、事件委托1、优点2、原理3、实现4、tab栏切换案例改造三、其他事件1、页面加载事件2、元素滚动事件(1)页面滚动事件-获取位置(2)页面滚动事件-滚动......
  • 原生IP与广播IP使用起来区别大吗?
    近年来,跨境电商火爆的同时社媒推广中的TikTok、Facebook、Netflix等平台也同时备受瞩目,相应的越来越多人看到代理IP对账号安全与定位的作用。但是代理IP中什么是原生IP?原生IP和广播IP有什么区别?成为了很多客户关心并咨询的热门问题,由于原生IP没有官方层面的权威定义,那么我收......
  • 静态代理ip与动态代理ip的区别与选择
    在当今软件开发领域,代理模式作为一种重要的设计模式,广泛应用于增强现有对象功能、控制访问权限以及实现远程调用等场景。本文旨在深入探讨静态代理与动态代理之间的核心区别,帮助开发者理解两者在实现机制、灵活性、性能表现及适用场景上的异同,进而指导在实际项目中如何根据具体......
  • 【Linux网络编程】基于 EPOLL 的 SOCKET 通信
    【Linux网络编程】基于EPOLL的SOCKET通信epoller.h#ifndefEPOLLER_H#defineEPOLLER_H#include<sys/epoll.h>#include<fcntl.h>#include<unistd.h>#include<assert.h>#include<errno.h>#include<vector>classEpoller{publ......
  • JavaEE-TCP协议
    上篇文章介绍了TCP可靠传输主要依靠的确认应答和超时重传机制,超时重传是确认应答的重要补充,还介绍了TCP的连接管理机制。本篇文章补充上一篇文章的TCP十个常用核心机制的其他七个。目录滑动窗口窗口大小流量控制拥塞控制延时应答捎带应答面向字节流异常情况 滑动......
  • 重头开始嵌入式第二十九天(Linux系统编程 网络通信 tcp)
    目录1.常见网络模型1.bs2.p2p3.cs2.网络编程之TCP(传输控制协议)1.TCP模型2.服务器端:1.socket();2、bind();3、listen();4、accept();5、接受函数:/发送函数:6、close()  ===>关闭指定的套接字id;3.客户端:1.connect();2、send()3、客户端信息获取4、客户端的信息bin......