Ejemplo n.º 1
0
    public IEnumerator ListenToServer()
    {
        Debug.Log("ListenToServer Started");

        while (true)
        {
            if (client.GetStream().DataAvailable)
            {
                string          packetString = TCPHelper.ReadMessage(client.GetStream());
                ChatDataPackage packet       = JsonUtility.FromJson <ChatDataPackage>(packetString);
                foreach (var item in packet.ChatDataPackages)
                {
                    // dele op i grupper her
                    string senderClient = item.PlayerName;
                    string msg          = senderClient + ": " + item.Message;

                    // check for at ændre farve

                    chatSystem.SendMessageToChat(msg, item.typeColor);
                    msg = "";
                }
            }
            yield return(null);
        }
    }
Ejemplo n.º 2
0
 /// <summary>
 /// Starts an endless while-loop, where the tcp client listens for new messages from the endpoint
 /// </summary>
 /// <returns></returns>
 public IEnumerator ListenForMessages()
 {
     while (!isDisconnecting)
     {
         if (Connected)
         {
             if (networkStream.DataAvailable)
             {
                 ChatDataPackage msg = JsonUtility.FromJson <ChatDataPackage>(TCPHelper.ReadMessage(networkStream));
                 foreach (var item in msg.ChatDataPackages)
                 {
                     item.SenderClient = this;
                     clientName        = item.PlayerName;
                     lock (ChatServer.tickMessages)
                     {
                         ChatServer.tickMessages.ChatDataPackages.Add(item);
                     }
                 }
                 //Debug.Log(msg);
             }
             yield return(null);
         }
         else
         {
             isDisconnecting = true;
             DisconnectClient();
         }
     }
 }
Ejemplo n.º 3
0
    public void Message(string msg)
    {
        //  chatTarget = GetTargetString(msg);
        if (GetTargetString(msg))
        {
            msg = MessageCleaner(msg);
            ChatDataPackage cdp = new ChatDataPackage();
            cdp.ChatDataPackages.Add(new ChatData
            {
                //  SenderName = "Tais",
                SenderName = ((IPEndPoint)client.Client.LocalEndPoint).Address.ToString(),
                Message    = msg,
                port       = ((IPEndPoint)client.Client.LocalEndPoint).Port.ToString(),
                Target     = chatTarget,
                PlayerName = clientName,
                typeColor  = msColor
            });



            byte[] data = TCPHelper.MessageBytes(cdp);

            client.GetStream().Write(data, 0, data.Length);

            Debug.Log("Sent: " + msg);
        }
    }