兼容流式套接字与数据报 套接字的回射服务器

这篇具有很好参考价值的文章主要介绍了兼容流式套接字与数据报 套接字的回射服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验流程:

1)设计基于select模型的双协议服务器方案

  1. 创建套接字:为每种协议创建一个套接字(例如,TCP和UDP)。
  2. 绑定套接字:将套接字绑定到指定的端口上。
  3. 设置套接字选项:为每个套接字设置相应的选项,例如允许重用地址、设置超时时间等。
  4. 监听套接字:对于TCP套接字,需要调用listen()函数进行监听。
  5. 添加套接字到fd_set:将套接字的文件描述符添加到fd_set中,以便在select()函数中使用。
  6. 使用select()函数:使用select()函数来监视套接字的文件描述符,以检测是否有新的连接或数据到达。
  7. 处理事件:根据select()函数返回的结果,处理相应的事件,例如接受新连接、读取数据、发送数据等。
  8. 关闭套接字:在完成所有操作后,关闭套接字并释放资源。

兼容流式套接字与数据报 套接字的回射服务器

 文章来源地址https://www.toymoban.com/news/detail-853253.html

(2)编程实现基于select模型的双协议服务器

服务器:TCP使用27015端口、UDP使用27011端口

 

兼容流式套接字与数据报 套接字的回射服务器

 

兼容流式套接字与数据报 套接字的回射服务器

 

兼容流式套接字与数据报 套接字的回射服务器

客户端:每次发送前进行协议选择,选择后输入发送内容

 

兼容流式套接字与数据报 套接字的回射服务器

 

兼容流式套接字与数据报 套接字的回射服务器

效果演示:

 

兼容流式套接字与数据报 套接字的回射服务器

 

兼容流式套接字与数据报 套接字的回射服务器

 

兼容流式套接字与数据报 套接字的回射服务器

(3)抓包分析

 

兼容流式套接字与数据报 套接字的回射服务器

看到发送内容为google

兼容流式套接字与数据报 套接字的回射服务器

 

 

 

到了这里,关于兼容流式套接字与数据报 套接字的回射服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux后端服务器开发】socket套接字

    目录 一、socket 套接字概述 二、socket 函数接口 三、IP地址与端口号的网络格式 四、TCP协议的本地通信C语言示例 socket 是什么? socket 本质上是一个抽象的概念,它是一组用于 网络通信的 API , 提供了一种统一的接口 ,使得应用程序可以通过网络进行通信。在不同的操作系统

    2024年02月16日
    浏览(26)
  • 服务器搭建(TCP套接字)-libevent版(服务端)

         Libevent 是一个开源的 事件驱动库 ,用于开发高性能、并发的网络应用程序。它提供了跨平台的事件处理和网络编程功能,具有高性能、可扩展性和可移植性。下面详细讲解 Libevent 的主要组成部分和使用方法。 事件基础结构(event_base)是 Libevent 的核心组件,用于

    2024年02月07日
    浏览(78)
  • 网络编程套接字(二)之UDP服务器简单实现

    目录 一、服务端UdpServer 1、udp_server.hpp 1、服务器的初始化 2、服务器的运行 2、udp_server.cc 二、客户端UdpClient udp_client.cc 三、完整代码 首先,我们在该文件中,将服务器封装成一个类,而作为一款服务器,必须要有自己的端口号,同时网络服务器需要有对应的IP地址,文件描述

    2024年04月16日
    浏览(36)
  • 【Linux网络编程】网络编程套接字(TCP服务器)

    作者:爱写代码的刚子 时间:2024.4.4 前言:本篇博客主要介绍TCP及其服务器编码 只介绍基于IPv4的socket网络编程,sockaddr_in中的成员struct in_addr sin_addr表示32位 的IP地址 但是我们通常用点分十进制的字符串表示IP地址,以下函数可以在字符串表示和in_addr表示之间转换 字符串转in

    2024年04月14日
    浏览(43)
  • 【网络编程】网络套接字&udp通用服务器和客户端

    端口号(port)是传输层协议的内容: 端口号是一个2字节16位的整数(uint16) 端口号用来标识主机上的一个进程 IP地址+port能够标识网络上的某一台主机和某一个进程 一个端口号只能被一个进程占用 此处我们先对TCP(Transmission Control Protocol 传输控制协议) 有一个直观的认识,后面再

    2024年02月16日
    浏览(39)
  • TCP流套接字编程(模拟多个客户端与服务器交互)

    目录 一、ServerSocket API 1.1、ServerSocket构造方法 1.2、ServerSocket方法 二、Socket API  2.1、socket构造方法  2.2、socket方法 三、TCP 中的长短连接 四、示例  实现聊天室功能 五、存在的问题  ServerSocket 是创建TCP服务端Socket的API。 1.1、ServerSocket构造方法 方法签名 方法说明 ServerSocket

    2024年02月13日
    浏览(31)
  • 在Linux系统实现服务器端和客户端的套接字通信

    目录 一.创建一个socket文件夹用来存放编写的服务器端和客户端程序 二.编写服务器端代码 三.编写客户端代码 四.编译c语言程序 五.断开连接 六.可能涉及到的一些没接触过的知识点 (我系统里的文件在temp/socket$文件夹中)   在server.c中编写的代码: 在client中编写的代码:

    2024年02月07日
    浏览(26)
  • psql: 错误: 连接到套接字“/var/run/postgresql/.s.PGSQL.5432“上的服务器失败:没有那个文件或目录服务器是否在本地运行并接受该套接字上的连接?

    查看 Postgresql 日志文件: 编码引起的报错,选择相应的编码支持。 这里我的是 en_US.UTF-8 查看一下本机所支持的所有编码 可见目前并不支持 en_US.UTF-8 ,所以先试着添加该支持,用命令: 通过空格选中 en_US.UTF-8 该编码格式,并确定。确定之后,系统环境默认的区域设置中会有

    2024年02月13日
    浏览(32)
  • python套接字(二):实现一个服务器和多客户端连接

    在上一篇博客python套接字(一):socket的使用简单说明了一下套接字的使用,也实现了使用套接字来传输消息,但是也有一个问题,就是这种实现方式只能一个服务器连接一个客户端,意味着有几个个客户就要创建结果服务器,而且客户端直接还不能通信,这样就和现实生活中

    2024年02月14日
    浏览(34)
  • 网络编程之 Socket 套接字(使用数据报套接字和流套接字分别实现一个小程序(附源码))

    网络编程是指网络上的主机,通过不同的进程,以编程的方式实现 网络通信(或称为网络数据传输) 只要满足不同的进程就可以进行通信,所以即便是在同一个主机,只要不同的进程,基于网络传输数据,也属于网络编程 在一次网络传输中: 发送端: 数据的 发送方进程

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包