首页 > 编程语言 >Socket编程模型

Socket编程模型

时间:2024-06-03 12:55:13浏览次数:26  
标签:套接 Socket 模型 编程 字库 接字 连接

  Socket,套接字就是两台主机之间逻辑连接的端点,其属于TCP/IP协议中的传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据(数据的格式化)。

  Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:

    1)连接使用的协议(TCP、UDP)

    2)本地主机的IP地址

    3)本地进程的协议端口

    4)远程主机的IP地址

    5)远程进程的协议端口。

  Socket整体流程如下图:
            

  具体编程步骤如下:

    服务器端编程的步骤:

      1:加载套接字库,创建套接字(WSAStartup()/socket());

      2:绑定套接字到一个IP地址和一个端口上(bind());

      3:将套接字设置为监听模式等待连接请求(listen());

      4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());

      5:用返回的套接字和客户端进行通信(send()/recv());

      6:返回,等待另一连接请求;

      7:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。
    客户端编程的步骤:

      1:加载套接字库,创建套接字(WSAStartup()/socket());

      2:向服务器发出连接请求(connect());

      3:与服务器端进行通信(send()/recv());

      4:关闭套接字,关闭加载的套接字库(closesocket()/WSACleanup())。

  示例代码如下:

    客户端:

            

    服务端:

            

            

  测试结果:

            

            

 

标签:套接,Socket,模型,编程,字库,接字,连接
From: https://www.cnblogs.com/ilovebath/p/18228515

相关文章

  • 计算机网络-OSI七层参考模型与数据封装
    目录一、网络1、网络的定义2、网络的分类3、网络的作用4、网络的数据传输方式5、网络的数据通讯方式二、OSI七层参考模型1、网络参考模型定义2、分层的意义3、分层与功能4、TCP\IP五层模型  三、参考模型的协议1、物理层2、数据链路层3、网络层4、传输层5、......
  • 新时代的程序员4大本领:lambda表达式,链式编程,函数式接口,Stream流式计算
    传统程序员4大本领:泛型,枚举,反射,注解新时代的程序员4大本领:lambda表达式,链式编程,函数式接口,Stream流式计算lambda表达式//1.不需要参数,返回值为5()->5//2.接收一个参数(数字类型),返回其2倍的值x->2*x//3.接受2个参数(数字),并返回他们的差值(x,y)->x......
  • 如何实现倾斜摄影三维模型OSGB格式轻量化
    如何实现倾斜摄影三维模型OSGB格式轻量化   倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而,由于其庞大的数据量和复杂的几何结构,给数据存储、传输和可视化带来了挑战。为了解决这个问题,倾斜摄影三维模型OSGB格式的轻量化......
  • AI大模型全面解析:从入门到精通,一篇带你飞!
    前言AI大模型是当今科技领域的一大热点,它正在改变我们的生活方式和工作方式。作为一名互联网老兵,我深刻认识到AI大模型的重要性,并决定将我所积累的AI大模型知识分享给大家。无论你是初学者还是已经有一定基础的开发者,我都希望这份资料能帮助你更好地理解和应用AI大模型。......
  • EPIC Fantasy Village - Low Poly 3D Art(梦幻村庄乡村小镇模型)
    这个包提供了一个以幻想为主题的多边形风格游戏,适合TopDown、RPG、冒险、社交和RTS。它允许你创建自己的美丽幻想村庄和角色。EPIC幻想村庄包EPIC幻想村庄包提供了一个以幻想为主题的多边形风格游戏,适用于TopDown、RPG、冒险、社交和RTS游戏。这个包允许你创建自己的美丽而......
  • sv添加工作负荷(添加其他编程语言)
    参考——https://learn.microsoft.com/zh-cn/visualstudio/extensibility/vsix/get-started/get-tools?view=vs-2022版本:VisualStudio2022 打开VS(两种方式)A直接点击安装多个工具和功能 B点击“继续但无需代码(W)”,点击工具——》获取工具和功能 添加相关依赖——......
  • 感觉是通俗易懂的大模型入门(一)
    最近人工智能非常火爆,大家可能经常听到AI、深度学习、大语言模型等名词。但真正能够将它们拆开来细致讲解的内容并不多。我大学就是学这个的,毕业后一直从事这个领域的工作。所以我打算今年陆续做一些这方面的科普,也借此机会复习巩固一下自己的知识体系。今天就算是第一期,......
  • Stable Diffusion AI绘画:从提示词到模型出图的全景指南
    随着人工智能技术的不断发展,AI智能绘图已经成为一种全新的创意工具。在这其中,StableDiffusion以其强大的功能和易用性,受到了设计师们的广泛欢迎。本文将为你揭开StableDiffusion的神秘面纱,带你了解如何利用这一神器,快速打造出令人惊叹的平面设计作品。一、StableDiffusion......
  • 【大模型应用开发极简入门】构建新闻稿生成器:提示词的使用与基于事实的提示词
    文章目录一.提示词怎么写二.完整代码三.基于事实的promptGPT-4和ChatGPT等LLM专用于生成文本。我们可以使用GPT-4和ChatGPT在各种场景中生成文本,举例如下。电子邮件合同或正式文档创意写作逐步行动计划头脑风暴广告职位描述对于本项目,我们将创建一个工具,它可......
  • 网络编程基础
    1.概述邮件:计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程的目的:无线电台…传播交流信息,数据交换,通信。想......