无法通过unity3d将远程服务器连接到smartfox
问题描述:
我试图用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();
}
}
答
创建ConfigData然后将它传递到SFS,用于连接:
ConfigData cfg = new ConfigData();
cfg.Host = "x.x.x.x";
cfg.Port = 9932;
cfg.Zone = loginZone;
cfg.Debug = true;
smartFox.Connect(cfg);
谢谢,我连接。但我使用9933 –
没问题:),您使用的端口号取决于服务器配置,您可以使用不同端口的多个sfs实例:) – Pirisok