void NetworkSendProcess() { while (isNetworkThreadRunning) { System.Threading.Thread.Sleep(1); if (dummyClient.IsConnected() == false) { continue; } lock (((System.Collections.ICollection)sendPacketQueue).SyncRoot) { if (sendPacketQueue.Count > 0) { byte[] sendbyte = new byte[256]; var packet = sendPacketQueue.Dequeue(); String str = Encoding.Default.GetString(packet); PT_DELIVERY_CHAT chatPack = new PT_DELIVERY_CHAT(str, GValue.packetNumber++); sendbyte = Serialize(chatPack); dummyClient.SendData(sendbyte); } } } }
private void MsgTest(object sender, EventArgs e) { MsgCount = Convert.ToInt32(TextBoxCount.Text); Random rand = new Random(); randMax = Convert.ToInt32(TextBoxUser.Text) - 1; Byte[] writeBuffer = new byte[256]; while (isMsgTestRunning) { for (int i = 0; i < MsgCount; i++) { if (dummys[rand.Next(0, randMax)].IsConnected()) { PT_DELIVERY_CHAT chatPack = new PT_DELIVERY_CHAT("hell", GValue.packetNumber++); writeBuffer = Serialize(chatPack); dummys[rand.Next(0, randMax)].SendData(writeBuffer); } } if (MsgCount > 0) { break; } } }
void NetworkReadProcess() { while (isNetworkThreadRunning) { if (dummyClient.IsConnected() == false) { System.Threading.Thread.Sleep(1); continue; } dummyClient.Receive(); PT_DELIVERY_CHAT recvPacket = new PT_DELIVERY_CHAT(); recvPacket = (PT_DELIVERY_CHAT)Deserialize(dummyClient.recvBuffer, typeof(PT_DELIVERY_CHAT)); if (dummyClient.recvBuffer.Length > 0) { TextLog.Write($"받은 데이터: {recvPacket.Message}", LOG_LEVEL.INFO); } else { TextLog.Write("서버와 접속 종료 !!!", LOG_LEVEL.INFO); } } }