解决socketjs连接不上ios问题_connected to server undefined-程序员宅基地

技术标签: socketJs  java  

cocos 游戏打包Android 端和网页端socketjs连接正常   ios 端socketjs不能连接问题  

 

后台spring服务器代码如下

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    private static Logger logger= LoggerFactory.getLogger(WebSocketConfig.class);
    /**
     * 设置心跳的时间间隔
     */
    private final long HEART_BEAT=5000;

    @Autowired
    private JwtUtils jwtUtils;
    @Autowired
    private RedisUtils redisUtils;
    @Value("${server.port}")
    private Integer port;
    @Autowired
    private MessageSend messageSend;

    /**
     * 设置stomp协议的入口(EndPoint)
     * 用于设置建立websocket连接
     * @param registry
     */
    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        logger.info("用于设置连接websocket的入口地址,");
        //设置连接websocket的开始前缀。前台使用什么来建立websocket通信。ws://localhost:端口/ws-start
        registry.addEndpoint("/ws-start")
                .setAllowedOrigins("*")//表示允许跨域请求,即允许所有的来源请求
                .withSockJS();//使用SockJS进行通信(当浏览器不支持websocket,使用SockJS进行通信)
    }

前端js如下

/**
     * 建立连接
     */
        cc.error(">>>>>>>:" + "建立连接");
        // @ts-ignore
        const socket = new SockJS(`http://landlordapi.tiangu95.com/tiangugame/landlord/ws-start`, undefined, {transports: ['websocket']});
      
        this._stompCli = Stomp.over(socket);
        this._stompCli.heartbeat.outgoing = 2000;
        this._stompCli.heartbeat.incoming = 2000;
        let _that = this;
        this._stompCli.connect(
            {token: cc.sys.localStorage.getItem(DBK.ACCESS_TOKEN)},
            (frame) => {
                this.subscribeTopic();
                if (cc.director.getScene().name != ENUM_DDZ_SCENE.GAME) {
                    setTimeout(() => {
                        cc.director.loadScene(ENUM_DDZ_SCENE.GAME, () => {
                            this.sendEnterGame();
                        });
                    }, 1000);
                }
                cc.find("root/disTip").active = false;

                cc.error(">>>>>>>:" + "连接成功")
            },
            (error) => {
                cc.find("root/disTip").active = true;
                // this.doConnect();
            });
        // this._stompCli.debug = (str) => {
        // cc.log(">>>>>>::" + str);
        // }

解决办法找到SocketJs库查找到  this.xhr.withCredentials = true; 注释掉,解决

    // this.xhr.withCredentials = true; //修复ios下无法连接的问题

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26297155/article/details/88352158

智能推荐

C语言进阶:文件操作,学生信息管理系统_编制学生类,实现学生信息的文本文件方式的读、写操作 (1)将学生信息从键盘输入,写-程序员宅基地

文章浏览阅读1.6k次,点赞3次,收藏27次。文章目录1. 重定向1.1 重定向文件输出1.2 重定向文件输入1.3 结构体存取2. 读文件和写文件3. 打开文件和关闭文件4. 综合大题5. 二进制读写1. 重定向1.1 重定向文件输出把运行出来的内容直接保存在文件中 ./a.out > hello.txt#include <stdio.h>int main(){ printf("hallo\n");}重定向执行结果:[admin@localhost cfile]$ ./hi > hi.txt_编制学生类,实现学生信息的文本文件方式的读、写操作 (1)将学生信息从键盘输入,写

SpringBoot异步多线程调用注解@Async使用和CountDown_springboot @async 多个一起使用-程序员宅基地

文章浏览阅读1.4k次。关于多线成调用可能大家用的比较多的是JDK的多线程,springboot1.5+,项目框架中集成了异步多线程操作配置,在这里和大家分享一下springboot的异步多线程注解使用,先一步一步来以代码的形式讲解大家可能会遇到的问题。一:创建方法,然后在方法上添加@Async注解,然后还需要在@SpringBootApplication启动类或者@configure注解类上 添加注解@EnableAsync启动多线程注解,@Async就会对标注的方法开启异步多线程调用,注意,这个方法的类一定要交给spri._springboot @async 多个一起使用

给外联样式表和JavaScript脚本增加版本号的方法_script 加版本号-程序员宅基地

文章浏览阅读628次。方法和问题方法一:前端使用JQuery的方法增加版本号方法二:前端使用 JavaScript 来增加版本号方法三:后端代码加载方法一:前端使用JQuery的方法增加版本号先上代码<script src="@Url.Content("~/Content/Web/js/jquery2.1.4.min.js")" type="text/javascript"></script><script> //更新public.css var dateNow = n_script 加版本号

SpringData + MongoDB 的 CRUD(上)。_springdata mongodb crud-程序员宅基地

文章浏览阅读180次。在此之前先简单了解一下,MongoDB 数据库的特性(我对内容进行了一些简化,以及加上自己的理解)。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它的存储管理和传统关系型数据库(例如:PostgreSQL、MySQL)有所区别。传统关系型数据库用是表来对数据进行管理、维护。例如:user_id user_n..._springdata mongodb crud

android 好友关系,Android 基于 SDK 如何实现好友关系-程序员宅基地

文章浏览阅读248次。好友关系是社交 IM 中非常重要的一个模块, 一般意义上的理解即是成为好友关系以后,才能进行聊天沟通。但是对于融云来说 只要你给了的 userId , 我知道了对方的 userId 就能跟对方发起聊天也就是发起会话。我们不妨点击来参考一下 bob 的讲解好友关系的博客 你的 App 怎么去定义好友关系,就看你和你的 server 怎么去维护这个关系和 userId 了,下面我会通过 App 实..._android remote service 添加好友

一篇文章总结java IO流(File、字节流、字符流、特殊操作流)_java io流封装到file-程序员宅基地

文章浏览阅读219次。1.File1.1 File类概述和构造方法File:它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的。方法名 说明 public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 public File_java io流封装到file

随便推点

虚拟机安装Centos7.8_centos7.8虚拟机安装-程序员宅基地

文章浏览阅读825次。虚拟机安装Centos7.8下载centos7镜像安装Centos7.8标准版用Xhell或其他工具进行连接最后下载centos7镜像[阿里镜像下载链接][http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/][其他镜像下载站参考这里][http://isoredirect.centos.org/centos/7/isos/x86_64/],选择国内的资源站下载速度会比较快!按照需求选择版本,这里演示在VMware安装Centos7.8标准版_centos7.8虚拟机安装

《中级》Flink 读写hbase_flink table写入hbase依赖包-程序员宅基地

文章浏览阅读1.2k次。ReadFromHBaseimport lombok.extern.slf4j.Slf4j;import org.apache.flink.addons.hbase.TableInputFormat;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment..._flink table写入hbase依赖包

Apache Doris 原理与实践-程序员宅基地

文章浏览阅读5.7k次,点赞5次,收藏20次。Apache Doris 简介Doris(原百度 Palo)是一款基于大规模并行处理技术的分布式 SQL 数据库,由百度在 2017 年开源,2018 年 8 月进入 Apache 孵化器。本次将主要从以下三部分介绍 Apache Doris.Doris 定位:即 Doris 所要面临的业务场景及解决的问题 Doris 关键技术 Doris 案例介绍01 Doris 定位实时数据仓库 Doris产品定位我们首先看一下 Doris 整个的定位。MPP 架构的关系型分析数据库_doris 原理

【DRP分销资源系统】——myeclipse链接oracle数据库-程序员宅基地

文章浏览阅读1.1k次。前言  你永远都不知道什么叫一波未平一波又起。错误一个接着一个,这也是我们成长的途径之一嘛。 问题    照着视频里老师的步骤一步一步的,从配置文件里粘贴driver name和url,但是无论如何都不行,然后根据提示从网上找解决办法,都说的是oracle数据库安装路径下的Duser language=en改成 zh,改了之后依旧出现下面的

Java类加载器--手写一个String类能否被类加载器加载?_如果重写一个string类,类加载器会不会加载-程序员宅基地

文章浏览阅读3.2k次,点赞15次,收藏35次。谈到Java的类加载器,大家应该都不陌生。但最近在逛面经分享时看到这样一个问题:“手写一个String类能否被类加载器加载?”笔者自己试了下,发现这个问题几乎把类加载器的原理都考了一遍,不信咱们就来碰一碰它。_如果重写一个string类,类加载器会不会加载

写一个matlab 滤波函数-程序员宅基地

文章浏览阅读431次。在 Matlab 中,可以使用内置的滤波函数来对数据进行滤波处理。例如,你可以使用 filter 函数来实现一个低通滤波器,其中 b 和 a 分别表示滤波器的输入和输出系数。y = filter(b, a, x)你也可以使用 filtfilt 函数来实现双向滤波,这样能够最大程度地消除滤波器的相位畸变。y =filtfilt(b, a, x)此外,你还可以使用 conv 函数来实现卷..._matlab模拟滤波器函数

推荐文章

热门文章

相关标签