内置Android apk时,Unity socket.io无法发出消息
我正在使用UnitySocketIO()在基于node.js的http页面上显示我的unity游戏数据 我用node.js创建了自己的服务器,如下所述,我将转发的端口999和9000移植到服务器上,这样我就可以从任何地方访问我的服务器内置Android apk时,Unity socket.io无法发出消息,android,node.js,unity3d,networking,socket.io,Android,Node.js,Unity3d,Networking,Socket.io,我正在使用UnitySocketIO()在基于node.js的http页面上显示我的unity游戏数据 我用node.js创建了自己的服务器,如下所述,我将转发的端口999和9000移植到服务器上,这样我就可以从任何地方访问我的服务器 var io = require("./socket.io").listen(999); var result; io.sockets.on("connection", function(socket){
var io = require("./socket.io").listen(999);
var result;
io.sockets.on("connection", function(socket){
console.log("User connected !")
socket.on("Msg", function(data){
console.log(data);
socket.emit("MsgRes", data);
result = data;
});
});
var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res){
console.log('request was made: ' + req.url);
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(result));
}).listen(9000, function(){
console.log('Server Running at myPublicIP:9000');
});
这里还有我使用SocketIOClient的unity脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using SocketIOClient;
public class SocketManager : MonoBehaviour
{
string url = "http://my public ip:999/";
public static Client Socket { get; private set; }
public string myGameData;
void Awake()
{
Socket = new Client(url);
Socket.Opened += SocketOpened;
Socket.Connect();
}
private void SocketOpened(object sender, System.EventArgs e)
{
Debug.Log("Socket Opened");
}
private void OnDisable()
{
Socket.Close();
}
void Update()
{
SocketManager.Socket.Emit("Msg", myGameData);
}
}
我部署了我的服务器。然后我用另一台连接到独立网络的pc在Unity上开始了我的游戏。我可以访问http://myPublicIp:9000 可以在那里查看我的游戏数据。但当我在我的移动设备上启动apk构建的游戏(也连接到单独的网络)时,它似乎已经连接,但什么都没有http://myPublicIp:9000. 以下是我在PC/移动设备上连接时的服务器端cmd屏幕截图
我知道我的代码很乱,但我仍然想知道为什么我的apk无法连接到socket.io,而pc版本工作正常。非常感谢你阅读我的问题