private bool StartSend(byte[] buffer, int offset, int count) { if (State != ConnectionState.Working) { return(false); } //SocketSendArgs.SetBuffer(buffer, offset, count); // CHECK SendPool.Free if change try { var len = BaseSocket.Send(buffer, offset, count, SocketFlags.None, out SocketError errorCode); if (len == 0 || errorCode != SocketError.Success) { Close(); } /* * if (!BaseSocket.SendAsync(SocketSendArgs)) * { * SendProcess(SocketSendArgs); * }*/ return(State != ConnectionState.Closed); } catch { Close(); return(false); } }
public void Send(BaseSocketPacket packet) { if (baseSocket != null) { baseSocket.Send(packet); } else { if (Constants.drawBack) { SocketManager.missList.Add(packet); } Constants.Authed = false; if (Iobserver.instance() != null) { Iobserver.instance().init(); } } }
/// <summary> /// Send a xml string over the XmppConnection /// </summary> /// <param name="xml"></param> public void Send(string xml) { FireOnWriteXml(this, xml); m_ClientSocket.Send(xml); if (OnWriteSocketData != null) { OnWriteSocketData(this, Encoding.UTF8.GetBytes(xml), xml.Length); } // reset keep alive timer if active to make sure the interval is always idle time from the last // outgoing packet if (m_KeepAlive && m_KeepaliveTimer != null) { m_KeepaliveTimer.Change(m_KeepAliveInterval * 1000, m_KeepAliveInterval * 1000); } }
private static void HandleTCPReceive(SocketReceiveEventArgs args) { switch (args.ReadPacket.OpCode) { case 0: string guid = args.ReadPacket.ReadString(); Console.WriteLine("Received : {0}", guid); WritePacket wr = new WritePacket(0); wr.AddString(guid); wr.AddString(matchId); wr.AddString(Id); tcpSocket.Send(wr); break; case 1: Console.WriteLine("You Can Play Now"); break; default: break; } }