/** * Send byte array to queue * * @param bytes Byte array * @param listener Callback listener * @return ByteSendEntity {@link ByteSendPacket} */ public ByteSendPacket Send(byte[] bytes, SendListener listener) { ByteSendPacket entity = new ByteSendPacket(bytes, listener); Send(entity); return(entity); }
/** * Send file to queue * * @param file File * @param listener Callback listener * @return FileSendEntity {@link FileSendPacket} */ public FileSendPacket Send(FileInfo file, SendListener listener) { FileSendPacket entity = new FileSendPacket(file, listener); Send(entity); return(entity); }
private void RunSender() { if (!active) { return; } if (shouldClose) { CleanNetworking(); return; } if (pendingMessagesQueue.Count == 0) { return; } MessageEntry entry = pendingMessagesQueue.Dequeue(); IMessage message = entry.Message; Action <bool> listener = entry.Listener; MemoryStream output = new MemoryStream(); NetworkBinaryWriter writer = new NetworkBinaryWriter(output); int messageTypeId = message.Type.TypeId; int contentSize = message.Content.Length; byte[] content = message.Content; writer.WriteInt(messageTypeId); writer.WriteInt(contentSize); writer.WriteBytes(content); byte[] messageTypeIdArray = BitConverter.GetBytes(messageTypeId); byte[] messageContentSizeArray = BitConverter.GetBytes(message.Content.Length); byte[] messageBytes = output.ToArray(); output.Close(); SocketAsyncEventArgs socketEventArgs = new SocketAsyncEventArgs(); socketEventArgs.RemoteEndPoint = socket.RemoteEndPoint; socketEventArgs.UserToken = null; SendListener sendListener = new SendListener(listener); socketEventArgs.Completed += sendListener.OnSendCompleted; socketEventArgs.Completed += OnMessageSendCompleted; socketEventArgs.SetBuffer(messageBytes, 0, messageBytes.Length); socket.SendAsync(socketEventArgs); }
/** * Send string to queue * * @param str String msg * @param listener Callback listener * @return StringSendEntity {@link StringSendPacket} */ public StringSendPacket Send(String str, SendListener listener) { StringSendPacket entity = null; try { entity = new StringSendPacket(str, listener); Send(entity); } catch (Exception e) { Console.WriteLine(e.Message); } return(entity); }
public SendPacket(int type, SendListener listener) : base(type) { mListener = listener; }
public SendPacket(byte type, SendListener listener) : base(type) { Listener = listener; }
public StringSendPacket(String entity, SendListener listener) : base(Encoding.UTF8.GetBytes(entity), listener) { mType = PacketType.STRING; }
public ByteSendPacket(byte[] entity, SendListener listener) : base(entity, PacketType.BYTES, listener) { mLength = mEntity.Length; }
public StringSendPacket(String entity, SendListener listener) : base(System.Text.Encoding.UTF8.GetBytes(entity), listener) { mType = Type.STRING; }
public FileSendPacket(FileInfo entity, SendListener listener) : base(entity, PacketType.FILE, listener) { mLength = mEntity.Length; }
/// <summary> /// Send string to queue /// </summary> /// <param name="str">String msg</param> /// <param name="listener">SendListener</param> /// <returns>StringSendPacket</returns> public StringSendPacket Send(String str, SendListener listener) { StringSendPacket entity = null; try { entity = new StringSendPacket(str, listener); Send(entity); } catch (Exception e) { Console.WriteLine(e.Message); } return entity; }
/// <summary> /// Send byte array to queue /// </summary> /// <param name="bytes"> Byte array</param> /// <param name="listener">Callback listener</param> /// <returns>ByteSendPacket</returns> public ByteSendPacket Send(byte[] bytes, SendListener listener) { ByteSendPacket entity = new ByteSendPacket(bytes, listener); Send(entity); return entity; }
/// <summary> /// Send file to queue /// </summary> /// <param name="file">File Info</param> /// <param name="listener">SendListener</param> /// <returns>FileSendPacket</returns> public FileSendPacket Send(FileInfo file, SendListener listener) { FileSendPacket entity = new FileSendPacket(file, listener); Send(entity); return entity; }
public BaseSendPacket(T entity, int type, SendListener listener) : base(type, listener) { mEntity = entity; }
public FileSendPacket(FileInfo entity, SendListener listener) : base(entity, Type.BYTES, listener) { mLength = (int)mEntity.Length; }