private static void DealMessage(object o) { while (true) { lock (receiveDataQueue) { if (receiveDataQueue.Count > 0) { ReceiveMessageData data = receiveDataQueue.Dequeue(); //MsgHandle.Self.DealMsg(data); } } } }
private void Server_OnReceived(object sender, ReceiveMessageData e) { try { if (!string.IsNullOrEmpty(e.Message)) { Application.ActiveApplication.MainForm.SelectedTabID = e.Message; } } catch (Exception ex) { Log.OutputBox(ex); } }
/// <summary> /// 接收消息 /// </summary> private static void ReceiveMessage(object clientSocket) { try { Socket myClientSocket = (Socket)clientSocket; while (true) { byte[] result = new byte[1024]; int receiveLength = myClientSocket.Receive(result); if (receiveLength > 0) { ReceiveMessageData data = new ReceiveMessageData(); data.ReceivePoint = myClientSocket.RemoteEndPoint.AsGIPEndPoint(); data.ReceiveBytes = result; data.ReceiveLength = receiveLength; receiveDataQueue.Enqueue(data); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private void ReceiveMessage(object clientSocket) { Socket socket = (Socket)clientSocket; while (true) { try { byte[] result = new byte[1024]; int receiveNumber = socket.Receive(result); ReceiveMessageData data = new ReceiveMessageData(); data.ReceivePoint = socket.RemoteEndPoint.AsGIPEndPoint(); data.ReceiveBytes = result; receiveDataQueue.Enqueue(data); //Console.WriteLine("{0}:{1}" , socket.RemoteEndPoint.ToString() , result.Length); } catch (Exception ex) { Console.WriteLine(" Error msg==>NetServer.ReceiveMessage :" + ex.Message); socket.Shutdown(SocketShutdown.Both); socket.Close(); break; } } }