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 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
