File tree Expand file tree Collapse file tree
Src/SocketIoClientDotNet.net45/Client Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -107,18 +107,21 @@ public override Emitter Emit(string eventString, params object[] args)
107107 var _args = new List < object > { eventString } ;
108108 _args . AddRange ( args ) ;
109109
110+ var ack = _args [ _args . Count - 1 ] as IAck ;
111+ if ( ack != null )
112+ {
113+ _args . RemoveAt ( _args . Count - 1 ) ;
114+ }
115+
110116 var jsonArgs = Parser . Packet . Args2JArray ( _args ) ;
111117
112118 var parserType = HasBinaryData . HasBinary ( jsonArgs ) ? Parser . Parser . BINARY_EVENT : Parser . Parser . EVENT ;
113119 var packet = new Packet ( parserType , jsonArgs ) ;
114120
115- var lastArg = _args [ _args . Count - 1 ] ;
116- if ( lastArg is IAck )
121+ if ( ack != null )
117122 {
118123 log . Info ( string . Format ( "emitting packet with ack id {0}" , Ids ) ) ;
119- Acks = Acks . Add ( Ids , ( IAck ) lastArg ) ;
120- jsonArgs = Parser . Packet . Remove ( jsonArgs , jsonArgs . Count - 1 ) ;
121- packet . Data = jsonArgs ;
124+ Acks = Acks . Add ( Ids , ack ) ;
122125 packet . Id = Ids ++ ;
123126 }
124127
You can’t perform that action at this time.
0 commit comments