// Use this for initialization void Start() { serverStream = PublicLevel.GetServerStream(); // Start TcpServer background thread tcpListenerThread = new Thread(new ThreadStart(ListenForIncommingRequests)); tcpListenerThread.IsBackground = true; tcpListenerThread.Start(); }
public static IEnumerator ListenForHostileCreatureList(float waitTime) { yield return(new WaitForSeconds(waitTime)); buffer = new byte[bufferSize]; try { Vector2Int[] _hostileType = new Vector2Int[PublicLevel.usingCreatureNum]; PublicLevel.GetServerStream().BeginRead(buffer, 0, bufferSize, OnReceive, null); creatureReceiveSuccess = true; // load after creaturelist receive is complete LoadingSceneManager.LoadScene("DefaultIngameCopy"); } catch (Exception listSendException) { Debug.Log("ListSendException " + listSendException.ToString()); StageButtonMultiplayer.NetworkErrorPanelactive(); } StageButtonMultiplayer.SetCreatureFlag(true); StageButtonMultiplayer.NetworkWaitPanelInactive(); }
public static bool SendCreatureList() { buffer = new byte[bufferSize]; try { // create a socket for streaming data string serverMessage = ""; Vector2Int[] friendlyType = PublicLevel.GetFriendlyType(); for (int i = 0; i < PublicLevel.usingCreatureNum; ++i) { serverMessage = serverMessage + friendlyType[i].x.ToString() + ',' + friendlyType[i].y.ToString() + " "; } buffer = Encoding.ASCII.GetBytes(serverMessage); PublicLevel.GetServerStream().Write(buffer, 0, buffer.Length); ClearBuffer(buffer); } catch (SocketException socketException) { Debug.Log("SocketException " + socketException.ToString()); return(false); } return(true); }