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

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
}


初步框架已经写好

http://www.xdnf.cn/news/3900.html

相关文章:

  • NOI 2025 大纲更新:算法竞赛的新风向标
  • ComfyUI学习笔记,案例四:inpaint
  • 2025 年最新树莓派 Pico 连接 OLED 显示字模汉字详细教程
  • 数字社会学家唐兴通谈数字行动主义网络行动主义与标签行动主义,理解它才算抓住AI社会学与网络社会学关键所在
  • 电路研究9.3.3——合宙Air780EP中的AT开发指南:HTTP(S)-HTTP GET 示例
  • Model Context Protocol (MCP)笔记
  • 如何用git将项目上传到github
  • C++入门(上)--《Hello C++ World!》(1)(C/C++)
  • Android设备运行yolov8
  • 自注意力(Self-Attention)和位置编码
  • Spring 中 @Value 注解实现原理
  • Vim 命令从头学习记录
  • 笔记本电脑升级计划(2017———2025)
  • JavaScript 笔记 --- part8 --- JS进阶 (part3)
  • 【NLP】32. Transformers (HuggingFace Pipelines 实战)
  • 全球化电商平台Azure云架构设计
  • 【计网】交换机和集线器对比
  • java学习之数据结构:四、树(代码补充)
  • 【Spring Boot】Spring Boot + Thymeleaf搭建mvc项目
  • flink rocksdb状态说明
  • 阿里云物联网平台--云产品流传
  • 7、Activiti-任务类型
  • 如何快速获取字符串的UTF-8或UTF-16编码二进制数据?数值转换成字符串itoa不是C标准?其它类型转换成字符串?其它类型转换成数值类型?
  • 虚幻引擎作者采访
  • 2.在Openharmony写hello world
  • 蓝桥杯 18. 积木
  • 记9(Torch
  • Leetcode刷题记录32——搜索二维矩阵 II
  • Dubbo(97)如何在物联网系统中应用Dubbo?
  • C语言 ——— 函数