在使用socket.io跟前端通信过程中,出现了一系列问题,现做下记录。
一、功能需求是,在小程序端,用户可相互邀请,进入房间后进行答题PK。实现方法是,用户点击邀请好友,建立连接,查询当前是否有房间,有房间发送消息给两人,匹配成功,开始pk。没有房间新建房间返回,等待20秒,等待别人匹配。
代码如下,先看配置,在application.yml配置文件中增加如下配置
1 # host在本地测试可以设置为localhost或者本机IP,在Linux服务器跑可换成服务器IP 2 socketio: 3 host: 127.0.0.1 #监听的ip 4 port: 9999 #监听端口 5 # 设置最大每帧处理数据的长度,防止他人利用大数据来攻击服务器 6 maxFramePayloadLength: 1048576 7 # 设置http交互最大内容长度 8 maxHttpContentLength: 1048576 9 # socket连接数大小(如只监听一个端口boss线程组为1即可) 10 bossCount: 1 11 workCount: 100 12 allowCustomRequests: true 13 # 协议升级超时时间(毫秒),默认10秒。HTTP握手升级为ws协议超时时间 14 upgradeTimeout: 1000000 15 # Ping消息超时时间(毫秒),默认60秒,这个时间间隔内没有接收到心跳消息就会发送超时事件 16 pingTimeout: 6000000 17 # Ping消息间隔(毫秒),默认25秒。客户端向服务器发送一条心跳消息间隔 18 pingInterval: 25000