当前位置: 首页 > news >正文

socket,http

  • 套接字是什么
      • 套接字类型
  • 什么是端口
  • 区别

师父让我写一个网站后端,说我的基础太差了,需要补基础
这时候我有个问题,socket,http;这俩怎么作用这么相似?怎么区别?
基于网络的通信,需要先创建“套接字”


套接字(Socket)是计算机网络中实现进程间通信的核心机制,其本质是操作系统提供的一组编程接口(API),用于在不同设备或同一设备的不同程序间建立可靠的数据传输通道。


HTTP是应用层协议,而socket是传输层的接口。HTTP基于TCP,而TCP又依赖于socket来建立连接。
HTTP是应用层协议,而套接字是更底层的传输机制,HTTP基于套接字实现。

套接字是什么

  • 通信端点:套接字是网络通信的端点,由 IP地址 + 端口号 唯一标识(如 192.168.1.10:8080)。

  • 协议支持:支持TCP(可靠传输)、UDP(高效传输)等协议,适应不同场景需求。

  • 抽象层级:在OSI模型中位于 传输层与应用层之间,屏蔽底层网络细节,简化编程。


套接字类型


什么是端口

在创建服务器时,还必须要指定一个端口号。当一台服务器,同时对外提供多种服务时,比如WEB服务,远程登录服务等等,就需要使用“端口号”,对不同的服务进行区别。每个服务,都有自己唯一的端口号。


但是,服务器端在网站访问服务之前,需要创建“套接字”。

区别

使用HTTP必然使用Socket(因为HTTP基于TCP,而TCP通过Socket实现)。但反过来,使用Socket不一定用HTTP,因为Socket更底层,支持多种协议。
最后,用比喻来巩固理解,比如Socket是道路,HTTP是汽车,汽车需要道路,但道路也可以跑其他车辆(协议)。这样用户更容易记忆。

#include<stdio.h>//实现网络的初始化
//返回值:套接字(服务器端套接字)
//端口
//参数:port  表示端口
//         如果*port的值是0,那么就自动分配一个可用的端口
int startup(unsigned short* port)
{//to do
}
int main()
{unsigned short port = 80;//端口在网络开发里面统一规定,无符号short类型,0~65535int server_socket = startup(&port);printf("httped服务已经启动,正在监听%d端口....", port);//to do
}


初步框架已经写好

相关文章:

  • 基于python的哈希查表搜索特定文件
  • 查看Ubuntu版本
  • (41)VTK C++开发示例 ---qt使用vtk最小示例
  • 科创大赛——知识点复习【c++】——第一篇
  • Flink流水线任务在线演示
  • 《类和对象(上)》
  • Python 整理3种查看神经网络结构的方法
  • 虚幻引擎作者采访
  • 什么是原码、反码与补码?
  • 2025流感疫苗指南+卫健委诊疗方案|高危人群防护+并发症处理 慢性肾脏病饮食指南2025卫健委版|低盐低磷食谱+中医调理+PDF 网盘下载 pdf下载
  • 牛客1018逆序数-归并排序
  • 金融的本质是智融、融资的实质是融智、投资的关键是投智,颠覆传统金融学的物质资本中心论,构建了以智力资本为核心的新范式
  • PyTorch 张量与自动微分操作
  • 全球化电商平台Azure云架构设计
  • 期末代码Python
  • iptables的基本选项及概念
  • 串 Part 1
  • 数据链路层(MAC 地址)
  • Gemini 解释蓝图节点的提示词
  • STC单片机与淘晶驰串口屏通讯例程之04【密码登录与修改】
  • 山东滕州一车辆撞向公交站台致多人倒地,肇事者被控制,案件已移交刑警
  • 证券时报头版:巴菲特留给投资界的珍贵启示
  • 经济日报头版刊文:为什么贸易战没有出路
  • 五一假期旅游大市党政领导靠前调度,重视解决游客反映的问题
  • 抗战回望15︱《五月国耻纪念专号》:“不堪回首”
  • 泽连斯基:美乌矿产协议将提交乌拉达批准