Search Unity

client does not receive messages

Discussion in 'Scripting' started by Pandoflo, Jul 20, 2017.

  1. Pandoflo

    Pandoflo

    Joined:
    May 31, 2017
    Posts:
    28
    i send a message from my tcp server to my unity client but the unity client never receives the server
    i created some buttons to connect / disconnect / send a message to my server (which works fine!) but the receiving part never happens!

    what do i have to do? i cant find the mistake
    Code (CSharp):
    1.  
    2.  
    3. public class alltogether : MonoBehaviour
    4. {
    5.  
    6.     public TcpClient m_client = new TcpClient();
    7.     public InputField myInputfield;
    8.     byte[] data;
    9.     byte[] rData;
    10.  
    11.  
    12.     public void Connect()
    13.     {
    14.         m_client.Connect("127.0.0.1", 30005);
    15.  
    16.         if (m_client.Connected)
    17.         {
    18.             NetworkStream stream = m_client.GetStream();
    19.  
    20.             if (stream.CanRead)
    21.             {
    22.                 rData = new byte[1024];
    23.                 stream.BeginRead(rData, 0, rData.Length, ReadCallback, rData);
    24.             }
    25.  
    26.         }
    27.     }
    28.     private void ReadCallback (IAsyncResult result)
    29.     {
    30.         int read;
    31.         NetworkStream stream = m_client.GetStream();
    32.         try
    33.         {
    34.            
    35.             read = stream.EndRead(result);
    36.         }
    37.         catch
    38.         {
    39.             Debug.Log("Error");
    40.             return;
    41.         }
    42.         if (read == 0)
    43.         {
    44.             Debug.Log("Closed");
    45.             return;
    46.         }
    47.         byte[] rData = result.AsyncState as byte[];
    48.         stream.BeginRead(rData, 0, rData.Length, ReadCallback, rData);
    49.         string responseBulk = Encoding.UTF8.GetString(rData);
    50.         SendStringToParser(responseBulk);
    51.     }
    52.     void SendStringToParser(string responseBulk)
    53.     {
    54.         Debug.Log(responseBulk);
    55.     }
    56.  
    57.  
    58.     public void Disconnect()
    59.     {
    60.         if (m_client.Connected)
    61.         {
    62.             m_client.Close();
    63.         }
    64.     }
    65.  
    66.     public void SendMsgToPlant()
    67.     {
    68.         data = System.Text.Encoding.ASCII.GetBytes(myInputfield.text);
    69.         NetworkStream m_stream = m_client.GetStream();
    70.         m_stream.Write(data, 0, data.Length);
    71.     }
    72. }
    73.  
    74.  
    75.  
    76.  
    77.  
    78.  
    79.