- Home /
Question by
ankurpatel · Nov 04, 2014 at 03:24 PM ·
editornetworkingcrashphotonauthoritative server
Unity Editor Crash !!!
i am Working on a Networking game like poker using photon.
so in terms of using authoritative server, we are using our current computer as a self hosted machine.
but unity editor get crashed when we change a code. i checked it in different computer and it happens only if we are using photon my other project works quite good in editor.
i am using a Lite Application as a server and Photon Unity Networking and 2 scripts only..
my Connection Class on MainCamera
using UnityEngine;
using System.Collections;
using System;
using Hashtable = ExitGames.Client.Photon.Hashtable;
using ExitGames.Client.Photon.Lite;
using ExitGames.Client.Photon;
public class Connection : MonoBehaviour
{
LitePeer peer;
PhotonServerFinal _photonserver;
bool connected;
String Current_Status;
public static string answer;
void Start()
{
_photonserver = new PhotonServerFinal();
connected = false;
Current_Status = "Disconnected";
}
void Update()
{
try
{
if (connected)
{
if (_photonserver != null)
_photonserver.Update();
}
}
catch (Exception e)
{
Debug.Log(e);
}
}
void OnGUI()
{
GUI.Label(new Rect(0, 0, 100, 100), Current_Status);
GUI.Label(new Rect(0, 200, 300, 300), answer);
if (GUI.Button(new Rect(100, 60, 100, 30), "Connect"))
{
peer = new LitePeer(_photonserver, ConnectionProtocol.Udp);
RoomInfo[] allRooms = PhotonNetwork.GetRoomList();
_photonserver.Initialize(peer, "192.168.1.211:5055", "Lite", this);
connected = true;
Current_Status = "Connected";
Debug.Log("Conncting to Master Server Called");
}
if (connected)
{
if (GUI.Button(new Rect(300, 60, 100, 30), "Join Room"))
{
peer.OpJoin("Low_ball_poker");
}
if (GUI.Button(new Rect(400, 60, 100, 30), "Leave Room"))
{
peer.OpLeave();
Debug.Log("Disconnection Called");
}
}
}
}
Another Script Which Uses Interface...
using ExitGames.Client.Photon; using ExitGames.Client.Photon.Lite; using System.Collections.Generic; using UnityEngine;
public class PhotonServerFinal : IPhotonPeerListener {
public string Status { get; set; }
private PhotonPeer peerFinal;
private Connection Connection_obj;
public PhotonServerFinal()
{
Status = "Disconnected";
}
void OnGUI()
{
}
public void Update()
{
peerFinal.Service();
}
public void Disconnect()
{
Debug.Log("DSfdsf");
peerFinal.Disconnect();
Debug.Log("Disconnect Called");
}
public void OnEvent(EventData eventData)
{
Debug.Log("\n---OnEvent: " + eventData.ToStringFull());
}
public void OnStatusChanged(StatusCode statusCode)
{
Debug.Log(statusCode);
switch (statusCode)
{
case StatusCode.Connect:
Status = "Connected";
break;
case StatusCode.EncryptionEstablished:
Status = "Encrypted";
break;
case StatusCode.Disconnect:
case StatusCode.DisconnectByServer:
case StatusCode.DisconnectByServerLogic:
case StatusCode.DisconnectByServerUserLimit:
case StatusCode.TimeoutDisconnect:
Status = "Disconnected";
break;
default:
Status = "Disconnected";
break;
}
}
public void SendRequest()
{
peerFinal.OpCustom(150, new Dictionary<byte, object> { { 1, "Send Request" } }, false);
}
public void Initialize(LitePeer peer, string serveraddress, string applicationname, Connection loginBehaviour)
{
Debug.Log("Initialize Called");
peerFinal = peer;
peerFinal.Connect(serveraddress, applicationname);
Connection_obj = loginBehaviour;
Debug.Log("Initialize Called at Final");
}
public void DebugReturn(DebugLevel level, string message)
{
throw new System.NotImplementedException();
}
public void OnOperationResponse(OperationResponse operationResponse)
{
Debug.Log("Here111 " + operationResponse.ToStringFull());
Connection.answer = operationResponse.ToStringFull();
//throw new System.NotImplementedException();
}
}
Comment