/// <summary> /// 当发送完成 /// </summary> /// <param name="obj">发送的数据</param> private void OnSocketSent(object obj) { if (OnSent != null) { var data = (byte[])obj; OnSent.Invoke(this, data); } }
public void Send(Byte[] data, SendFlags flags, OnSent onSent) { if (connected) { client.SendMessageToConnection(connection, data, flags); onSent?.Invoke(); } }
public void Send(string data) { var newMessage = new Message { Data = data, Initiator = this, TimeStamp = DateTime.Now }; History.Add(newMessage); OnSent?.Invoke(newMessage); }
public void SendMessage(int itemId, string queueName, Stream data) { using (var writer = TransportClient.CreateWriter(queueName, CommitOptions.None)) { writer.Write(ReadFully(data)); } this.SenderWorker.Process(); OnSent?.Invoke(itemId); }
/// <summary> /// Will fire all events according to the queued messages /// </summary> public void Work() { if (Stopped) { throw new InvalidOperationException($"{nameof(EasySocket)} was stopped"); } SocketAsyncEventArgs result; while (!_acceptedSockets.IsEmpty) { if (_acceptedSockets.TryDequeue(out result)) { OnAccepted?.Invoke(Socket, result); } } while (!_receivedData.IsEmpty) { if (_receivedData.TryDequeue(out result)) { OnReceived?.Invoke(Socket, result); } } while (!_receivedFromData.IsEmpty) { if (_receivedFromData.TryDequeue(out result)) { OnReceivedFrom?.Invoke(Socket, result); } } while (!_receivedMessageFromData.IsEmpty) { if (_receivedMessageFromData.TryDequeue(out result)) { OnReceivedMessageFrom?.Invoke(Socket, result); } } while (!_sendComplete.IsEmpty) { if (_sendComplete.TryDequeue(out result)) { OnSent?.Invoke(Socket, result); } } while (!_sendToComplete.IsEmpty) { if (_sendToComplete.TryDequeue(out result)) { OnSentTo?.Invoke(Socket, result); } } }
private void beginSend(IAsyncResult result) { Buffers.WebSocket.Write buffer = (Buffers.WebSocket.Write)result.AsyncState; Socket.EndSend(result); if (!buffer.Type.HasFlag(Buffers.WebSocket.Write.DataType.PIN | Buffers.WebSocket.Write.DataType.PON)) { OnSent?.Invoke(); } }
public void Send(string data) { // Form a message var newMessage = new Message { Data = data, Initiator = this, TimeStamp = DateTime.Now }; _history.Add(newMessage); // YOUR CODE GOES HERE OnSent?.Invoke(newMessage); }
/// <summary> /// 当网络频道发送成功 /// </summary> /// <param name="channel">网络频道</param> /// <param name="message">发送的数据</param> private void OnChannelSent(INetworkChannel channel, byte[] message) { if (OnSent == null) { return; } lock (OnSent) { if (OnSent != null) { OnSent.Invoke(channel, message); } } }
public void Send(ISession session, IMessage message) { if (message is IRequest request) { if (request.RequestId == 0) { request.RequestId = request.RequestId = session.GetNextRequestId(); } } var bufferWriter = new SpanBufferWriter(stackalloc byte[412]); if (message is IEncryptedMessage encryptedMessage) { if (session.EncryptionParameters is null) { if (message is not AcknowledgeMessage) { _logger.Warning( "Attempted to send an encrypted messsage before " + "any encryption parameters were established " + $"(EndPoint='{session.EndPoint}')." ); return; } bufferWriter.WriteBool(false); // IsEncrypted _messageWriter.WriteTo(ref bufferWriter, message, PacketProperty); } else { encryptedMessage.SequenceId = session.GetNextSequenceId(); bufferWriter.WriteBool(true); // IsEncrypted _encryptedMessageWriter.WriteTo( ref bufferWriter, encryptedMessage, session.EncryptionParameters.SendKey, session.EncryptionParameters.SendMac, PacketProperty ); } } else { bufferWriter.WriteBool(false); // IsEncrypted _messageWriter.WriteTo(ref bufferWriter, message, PacketProperty); } OnSent?.Invoke(session, bufferWriter.Data); }
private void send(string msg) { client.Send(msg); OnSent?.Invoke(client, msg); }
private void OnSendComplete(object sender, SocketAsyncEventArgs socketAsyncEventArgs) { Task.Run(() => OnSent?.Invoke(this, socketAsyncEventArgs)); }
protected override void OnFailed() { OnSent?.Invoke(new UdpSocketSend(Status, Affected, Socket, Buffer, Endpoint)); }