ClassAssistance.Slave/MasterServer.cs

(开头部分) 18KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Threading.Tasks;
using ClassAssistance.Common;
using ClassAssistance.Common.Network.Protocol;
using ClassAssistance.Slave.Helper;
using ClassAssistance.Slave.Helper.Native.Impl;
using ClassAssistance.Slave.Malicious;
using NetMQ;
using NetMQ.Sockets;
using System.Collections.Generic;
using System.Threading;
using System.Windows.Forms;
using System.Windows.Threading;

namespace ClassAssistance.Slave
{
/// <summary>
/// 
/// </summary>
    public sealed class MasterServer : Singleton<MasterServer>
    {
        private const int DISCONNECTION_TIMEOUT = 8000;
        private const int SEND_INTERVAL = 10;
        
        private readonly Stopwatch m_receiveTimer;
        private readonly NetMQSocket m_client;
        private readonly NetMQPoller m_poller;
        private readonly ConcurrentQueue<NetMQMessage> m_sendQueue = new ConcurrentQueue<NetMQMessage>();
        private string m_serverAddress;
        private bool m_connected;
        private long m_lastReceived = -1;
        private CancellationTokenSource tokenSource = new CancellationTokenSource();
        private Task a;

        /// <summary>
        /// 服务端主服务
        /// </summary>
        public MasterServer()
        {
            m_client = new DealerSocket();
            m_client.Options.Linger = TimeSpan.Zero;
            m_client.ReceiveReady += ClientReceive;

            m_receiveTimer = Stopwatch.StartNew();

            var sendTimer = new NetMQTimer(SEND_INTERVAL);
            sendTimer.Elapsed += SendQueue;

            m_poller = new NetMQPoller { sendTimer, m_client };
            //m_poller.PollTimeout = 10;
        }

        /// <summary>
        /// 连接服务端
        /// </summary>
        public void Connect(string serverAddress) 
后面还有 493 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。