private void OnConnectedCompleted(object sender, SocketAsyncEventArgs e) { if (e.SocketError != SocketError.Success) { return; } Socket socket = sender as Socket; OnLogEvent("服务器连接成功。。。"); //开启新的接受消息异步操作事件 var receiveSaea = new SocketAsyncEventArgs(); var receiveBuffer = new byte[1024 * 4]; receiveSaea.SetBuffer(receiveBuffer, 0, receiveBuffer.Length); //设置消息的缓冲区大小 receiveSaea.Completed += OnReceiveCompleted; //绑定回调事件 receiveSaea.RemoteEndPoint = _endPoint; _socket.ReceiveAsync(receiveSaea); string timestamp = MD5Utils.ConvertDateTimeInt(DateTime.Now) + ""; string uuid = Guid.NewGuid().ToString().Replace("-", "").ToUpper(); string vk = MD5Utils.GetMD5(timestamp + "7oE9nPEG9xXV69phU31FYCLUagKeYtsF" + uuid); SendMsg(Request.gid(rid, uuid, timestamp, vk)); }
private void work() { Console.WriteLine("心跳包线程启动"); while (IsRunning) { Thread.Sleep(40000); string message = Request.keepLive(MD5Utils.ConvertDateTimeInt(DateTime.Now)); if (IsRunning) { socket.SendMsg(message); } } }