protected override void OnStart() { base.OnStart(); receiver = _bootstrap.GetService(ServicesTypes.UDPRead) as UDPReceive; receiver.OnPacketReceive += PrintDebug; sender = _bootstrap.GetService(ServicesTypes.UDPSend) as UDPSender; sender.SendPacket("Hello World"); }
public override void Write(byte[] buffer, int offset, int count) { _Position += (count - offset); if (udp != null) { udp.SendPacket(buffer, offset, count); return; } else { inbufer.Write(buffer, offset, count); } if (bytePerSec == 0) { var tmppos = inbufer.Position; inbufer.Position = prepro_Pos; bytePerSec = Calc1secBytes(inbufer); prepro_Pos = inbufer.Position; inbufer.Position = tmppos; if (bytePerSec == 0) { // まだバッファが足りないので次を待つ return; } if (SendStartTime != default(DateTime)) { // 開始時間指定 if (SendStartTime > InitialTime) { ToWaitByte = (long)((SendStartTime - InitialTime).TotalSeconds * bytePerSec * 0.9); if (ToWaitByte > _Position - offsetTOT && ToWaitByte > CancelForTooLess) { throw new SenderBreakCanceledException(bytePerSec, ToWaitByte + offsetTOT, InitialTime); } } } else if (SendDelay != default(TimeSpan)) { // 開始遅れ時間指定 ToWaitByte = (long)(SendDelay.TotalSeconds * bytePerSec * 0.9); if (ToWaitByte > _Position && ToWaitByte - _Position > CancelForTooLess) { throw new SenderBreakCanceledException(bytePerSec, ToWaitByte, InitialTime); } } } inbufer.Position = 0; if (SendStartTime != default(DateTime)) { // 開始時間指定 if (SendStartTime > InitialTime) { if (SeekToTOTTime(inbufer) < SendStartTime) { // まだ inbufer.SetLength(0); inbufer.Position = 0; return; } } } else if (SendDelay != default(TimeSpan)) { // 開始遅れ時間指定 if (ToWaitByte > _Position) { // まだ inbufer.SetLength(0); inbufer.Position = 0; return; } var remlen = _Position - ToWaitByte; inbufer.Position = inbufer.Length - remlen; } if (udp == null) { udp = new UDPSender(bytePerSec, InitialTime, ct); udp.TOTChangeHander += _Handler; udp.SendDuration = SendDuration; udp.SendPacket(inbufer); inbufer.SetLength(0); inbufer.Position = 0; } }
public void ReccordPadsToGroup(int groupIndex) { actualGroup = groupIndex; receiver.OnPacketReceive += AddToGroup; sender.SendPacket("OpenVote"); }
public void OpenTurningVote() { sender.SendPacket("OpenVote"); }