2017-02-15 139 views
2

我试图用unity3d连接smartfoxserver。本地机器工作正常。但是当我尝试在我的服务器IP上像xx.xx.xx.xx,给出错误如下,无法通过unity3d将远程服务器连接到smartfox

我该怎么办?

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(); 

    } 

} 

回答

3

创建ConfigData然后将它传递到SFS,用于连接:

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

谢谢,我连接。但我使用9933 –

+0

没问题:),您使用的端口号取决于服务器配置,您可以使用不同端口的多个sfs实例:) – Pirisok

相关问题