public void ReceiveSorket(object parm) { threadInfo info = ((threadInfo)parm); AutoResetEvent handleEvent = info.recvEndEvent; while (bRecb) { if (!clientSocket.Connected) { GameDebug.Log("Failedd to clientSocket serer. whyyyyyy"); clientSocket.Close(); break; } try { SplitPackage(JFRecvPackage.RecvPackage(clientSocket), 0); } catch (Exception e) { GameDebug.LogError("Failed to clientSocket error." + e); if (clientSocket != null && clientSocket.Connected) { clientSocket.Close(); } break; } } handleEvent.Set(); }
JFSocket() { waitHandls = new WaitHandle[1]; waitHandls[0] = new AutoResetEvent(false); threadInfoData = new threadInfo(); threadInfoData.Handle = null; threadInfoData.recvEndEvent = (AutoResetEvent)waitHandls[0]; _worldPackages = new List <JFPackage.IPackage>(); _worldPackages2 = new List <JFPackage.IPackage>(); _curPackages = _worldPackages; clientSocket = null; }