首页 > 其他分享 >socket.io

socket.io

时间:2024-04-11 12:23:27浏览次数:16  
标签:const socket express 端口 io 服务器

  • [ 官方文档的坑 ]
  • [ 服务端 ]
    • 官方文档给出了一个入门的示例,但是如果按照这个示例,会得到一个不断循环出现的404。
    • 解决这个问题,只需要理解一点就好,socket.io会启动一个服务器,这个服务器和express启动的服务器不是一个东西,所以不能监听同一个端口。
    • 简言之,如果我们给 express 监听了80端口,那么就要手动给 socket 监听另一个端口,同时做好跨域。
      const express = require('express')
      const { Server } = require('socket.io')
    
      // 分别创建 express 服务器 和 socket 服务器
      const app = express()
      const io = new Server()
    
      // 分别给两个服务器 分配端口
      app.listen(80)
      io.listen(3000)
    
    • 如上,会出现一个跨域的问题,所以在 socket 服务器创建的时候,要设置好跨域问题
      // 这里写了监听端口,就不用在单独去写了
      const io = new Server(3000, {
        cors: {
          // 这里注意,如果是80端口,可以省略
          origin: 'http://localhost'
    
          // 如果是其他端口,需要写出端口
          // origin: 'http://localhost:5173'
        }
      })
    

  • [ 客户端 ]
    • 既然 socket 服务器监听的不是 80 端口,那么客户端在创建 socket 对象的时候,就需要指明 socket 服务器所监听的端口。
      const socket = io('localhost:3000')
    
    • 不知道写官方文档的人有没有跑过自己写的示例,耽误工夫。也或者是我太菜了没明白其中精髓吧。总之算是跑通了。

    标签:const,socket,express,端口,io,服务器
    From: https://www.cnblogs.com/anch/p/18128798

    相关文章

    • 人工智能_大模型030_大模型开发框架003_Semantic Kernel中Native Function嵌套调用_SK
      ###4.2、NativeFunction嵌套调用(选)**注意:**NativeFunction的嵌套调用,本质上就是函数嵌套。官方给的写法是在Kernel的设计思想下的实现,通过Kernel来获取函数并执行,观感上较为晦涩。实际开发中,可以根据个人对SK内核与设计理念的理解,自行选择使用以下写法,或使用普......
    • dremio 25.0 版本的一些问题
      就是最近dremio25.0发布了,昨天在体验了之后似乎一些功能与实际的说明是不太一样的(也可能是社区版的问题)一些问题nessiecatalogga了官方的说法是支持基于api以及ALTERTABLE,ALTERVIEW进行反射更新的,但是似乎是不行的,同时结合源码看就是暂时还支持,只是sql解析支持了......
    • 如何巧妙应对iOS键盘难题?
      前言写过移动端的同学或多或少都遇到过软键盘带来的各种各样的问题,最典型的就是输入框被软键盘遮挡、fixed元素失效等问题,并且这些问题在iOS上的表现让人难以接受。webview的差异在移动端上,我们的H5页面一般是运行在宿主APP提供的webview中,简单点理解,你其实可以把它当作浏览器,......
    • A Comprehensive Evaluation of Sequential Memory Editing in Large Language Models
      本文是LLM系列文章,针对《NavigatingtheDualFacets:AComprehensiveEvaluationofSequentialMemoryEditinginLargeLanguageModels》的翻译。双向导航:大型语言模型中顺序记忆编辑的综合评价摘要1引言2相关工作3符号和背景4实验设置5ME对LLM的评估......
    • App Store 警告 ITMS-91053: Missing API declaration
      问题:app虽然成功上架AppStore,但是邮件提示了如下警告:解决:解决方法是添加隐私清单文件。参考官方说明:官方文档其它相关链接:StackOverflow中关于这个问题的讨论这位作者分享了如何解决该问题这篇文章提供了解决该问题详细的指南......
    • P3478 [POI2008] STA-Station
      题目链接:既然让求深度之和,那么我就定义以\(i\)为根时深度之和为\(f_i\),现在就是思考状态转移的问题。如果以某种手段得到了\(f_1\),那么接下来的转移就好说了。设\(u\)为当前节点,\(j\)是当前节点的子节点。\(s_i\)表示以\(i\)为根的子树中的节点数量,则\(s_u=1+\sum{s......
    • 【题解】CF311E Biologist题解
      CF311EBiologist题解非常好的一道最小割。思路首先看到每一个位置又会有\(01\)两种情况,然后要满足一些要求,求最大收益,考虑类似于P4313文理分科和P1361小M的作物这种集合划分的建图方法,也就是要用最小割求解。由于我们要求的是最大收益,所以我们要先明确要最小化什么,......
    • [network][easy case]troubleshoting the connection to a remote server
      background&issueIdeployedaminioserveronanECS(avpsinalibaba),butIcouldn'taccessitonlocalPC.It'saneasycasebutverycommonwhenconnectingtoanewserver.soIrecordmybriefprocedurehereincaseyoucomeintosimi......
    • keycloak~RequiredActionProvider的使用
      使用场景RequiredActionProvider,它是在认证过程中,需要当前登录的用户执行个性化的动作;当用户符合条件,就被执行RequiredActionProvider对作,当RequiredActionProvider没有正常提交(context.success())之前,当前用户仍然是未登录状态,这在keycloak框架中,也有一些默认的个性化动作,它与......
    • 基于istio实现多集群流量治理
      本文分享自华为云社区《基于istio实现多集群流量治理》,作者:可以交个朋友。一背景对多云、混合云等异构基础设施的服务治理是Istio重点支持的场景之一。为了提高服务的可用性,避免厂商锁定,企业通常会选择将应用部署在多个地域的多个集群,甚至多云、混合云等多种云环境下,多集群的......