public void OnMessage(object sender, MessageEventArgs e) { try { if (!this.mIsLogin) { int num = e.RawData.Length - 10; byte[] array = new byte[num]; Array.Copy(e.RawData, 10, array, 0, num); NpCloudResponseParameter <string> npCloudResponseParameter = NpMessagePack.Unpack <NpCloudResponseParameter <string> >(array); if (npCloudResponseParameter.body.IndexOf("200") < 0) { this.mIsError = true; this.mErrorMsg = "サーバーへの接続に失敗しました。"; } else { this.mIsLogin = true; } } else { this.Receive(e.RawData); } } catch (Exception ex) { this.mIsError = true; this.mErrorMsg = ex.Message + "\n" + ex.StackTrace; } }
private void LoginResponse(int timeOut) { if (!this.mSocket.Poll(timeOut * 1000000, SelectMode.SelectRead)) { throw new NpCloudException(720, "接続リクエストのタイムアウトです。"); } byte[] array = new byte[1024]; this.mSocket.Receive(array); int num = array.Length - 10; byte[] array2 = new byte[num]; Array.Copy(array, 10, array2, 0, num); NpCloudResponseParameter <string> npCloudResponseParameter = NpMessagePack.Unpack <NpCloudResponseParameter <string> >(array2); if (npCloudResponseParameter.body.IndexOf("200") < 0) { throw new NpCloudException(721, "サーバーへの接続に失敗しました。"); } }