示例#1
0
        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);
            }
        }
示例#2
0
 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();
         }
     }
 }
示例#3
0
        /// <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);
            }
        }
示例#4
0
        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;
            }
        }