如何统一解决SmartFoxServer连接错误

时间:2017-08-19 19:57:08

标签: c# unity3d smartfoxserver

我在Unity3d上使用SmartFoxServer API。在我恢复MacBook之前它工作正常,但现在出现如下连接错误:

Http error creating http connection: System.Net.Sockets.SocketException: Connection refused
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP, Boolean requireSocketPolicy) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.TcpClient.Connect (System.Net.IPAddress[] ipAddresses, Int32 port) [0x00000] in <filename unknown>:0 
UnityEngine.Debug:Log(Object)
SFS2X_Connect:OnConnection(BaseEvent) (at Assets/SFS2X_Connect.cs:2758)
Sfs2X.Core.EventDispatcher:DispatchEvent(BaseEvent)
Sfs2X.SmartFox:ProcessEvents()
SFS2X_Connect:Update() (at Assets/SFS2X_Connect.cs:2764)

以下是连接代码:

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using System.Collections;
using Sfs2X;
using Sfs2X.Core;

    public class SFS2X_Connect : MonoBehaviour {

        public string Host = "127.0.0.1";

        [Tooltip("TCP port listened by the SmartFoxServer 2X instance; used for regular socket connection in all builds except WebGL")]
        public int TcpPort = 9933;

        [Tooltip("WebSocket port listened by the SmartFoxServer 2X instance; used for in WebGL build only")]
        public int WSPort = 8888;

        [Tooltip("Name of the SmartFoxServer 2X Zone to join")]
        public string Zone = "examplezone";


    SmartFox sfs;

          sfs = new SmartFox ();

          sfs.ThreadSafeMode = false;

         sfs.AddEventListener (SFSEvent.CONNECTION, OnConnection);

        ConfigData cfg = new ConfigData();

        cfg.Host = Host;
        cfg.Port = TcpPort;
        cfg.Zone = Zone;

        sfs.Connect (cfg);
    }

我已删除并重新导入smartfox.dll但仍遇到同样的错误。

我该怎么办?

注意:我创建了一个新项目并导入了SnartFoxServer。它已连接到服务器。

2 个答案:

答案 0 :(得分:1)

WebClient客户端=新的WebClient();   client.Credentials = new NetworkCredential(“ admin”,“ password”);   流数据流= client.OpenRead(“ http://routerlogin.com/cgi-bin/CF_logs.html”);   StreamReader reader =新的StreamReader(datastream);

答案 1 :(得分:0)

该区域名称确实存在,并且forceBlueBoxOverHttps设为true是因为Apple不接受HTTP连接。

cfg.forceBlueBoxOverHttps = true;