c# - 无法使用unity3d将远程服务器连接到smartfox

标签 c# unity-game-engine smartfoxserver

我正在尝试将 smartfoxserver 与 unity3d 连接。本地机器工作正常。但是当我尝试使用我的服务器 IP(例如 xx.xx.xx.xx)时,出现如下错误,

我应该做什么?

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:31)
Sfs2X.Core.EventDispatcher:DispatchEvent(BaseEvent)
Sfs2X.SmartFox:ProcessEvents()
SFS2X_Connect:Update() (at Assets/SFS2X_Connect.cs:37)

连接代码如下所示

public class SFS2X_Connect : MonoBehaviour {

    public string ServerIP = "xxx.xxx.xxx.xxx";
    public int ServerPort = 9933;

    SmartFox sfs;

    void Start () {
        sfs = new SmartFox ();

        sfs.ThreadSafeMode = true;

        sfs.AddEventListener (SFSEvent.CONNECTION, OnConnection);

        sfs.Connect (ServerIP, ServerPort);

    }

    void OnConnection(BaseEvent evt)
    {
        if ((bool)evt.Params ["success"]) {
            Debug.Log ("Successfully Connected");
        } 
        else {
            Debug.Log ((string)evt.Params["errorMessage"]);
        }
    }

    void Update () {
        sfs.ProcessEvents();

    }

}

最佳答案

创建一个 ConfigData 然后将其传递给 sfs 进行连接:

    ConfigData cfg = new ConfigData();
    cfg.Host = "x.x.x.x";
    cfg.Port = 9932;
    cfg.Zone = loginZone;
    cfg.Debug = true;
    smartFox.Connect(cfg);

关于c# - 无法使用unity3d将远程服务器连接到smartfox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42253434/

相关文章:

c# - Unity C# 在运行时移动平台偏移

java - 想要将Jetty设置为热部署,但是没有部署器

c# - Parallel.ForEach 中长时间运行进程的进度条

c# - 在 4.0 项目中引用 .net Framework 4.5.1 程序集

c# - 如何在每个实现的异步中抛出取消异常?

ios - Firebase-Unity 项目 : Exporting for iOS on Windows 10. 解决方法?

c# - 在某些玩家输入后如何在协程中跳出循环?

mysql - 使用 Smartfox API 连接到 Windows Azure 数据库

java - 为什么这些java行会进入无限循环

c# - ChannelReader 完成任务在 OperationCanceledException 之后永远不会完成