void Start()
{
Thread t = new Thread(ReceiveData);
t.Start();
}
private void ReceiveData()
{
while (true)
{
if (connected)
{
Debug.Log("Run");
try
{
int bytes = 0; // Счетчик полученных байт с сервера
byte[] buffer = new byte[1024]; // Массив байт, для данных полученных с сервера
StringBuilder builder = new StringBuilder();
do
{
bytes = socket.Receive(buffer); // Прием данных от сервера
builder.Append(Encoding.UTF8.GetString(buffer, 0, bytes)); // Строим сообщение из полученных данных ( массива байт )
}
while (socket.Available > 0);
string[] allInfo = builder.ToString().Split(';');
for (int i = 0; i < allInfo.Length; i++)
{
string[] info = allInfo[i].Split('|');
Action action = () => { data.Add(info[0], info[1] + '|' + info[2] + '|' + info[3]); };
action.Invoke();
}
}
catch (Exception ex)
{
Debug.Log("Error in Helper.FixedUpdate: " + ex.Message);
}
}
}
}