void FinishRecv(RecvStateObject state) { Debug.Log("Done getting packet"); var jsonText = System.Text.Encoding.UTF8.GetString(state.buffer, 4, state.length); Debug.Log (jsonText); JsonData obj = null; try { obj = JsonMapper.ToObject(jsonText); } catch(Exception e) { Debug.LogWarning (e.ToString()); } DoCallback(obj); m_recvDone.Set(); }
public void RecvLoop() { try { while(m_socket.Connected && !quit) { Debug.Log ("Starting recv"); m_recvDone.Reset (); RecvStateObject state = new RecvStateObject(); m_socket.BeginReceive(state.buffer, state.readAmount, RecvStateObject.MAX_BUF_SIZE, SocketFlags.None, DataReceived, state); m_recvDone.WaitOne(); } } catch(ThreadAbortException tae) { Debug.Log ("Caught " + tae.GetType ().Name + " -- aborting recv thread"); } }