public void SetTcpSocket(
#if !NETFX_CORE
            BlockingSocket
#else
            StreamSocket
#endif
            value)
        {
            tcpSocket = value;
        }
        public pSocket(int type)
        {
            this.type = type;
            switch (type)
            {
            case SOCKET_TYPE_TCP:
#if !NETFX_CORE
                tcpSocket = new BlockingSocket();
                try
                {
                    tcpSocket.SendBufferSize    = pBuffer.BUF_SIZE;
                    tcpSocket.ReceiveBufferSize = pBuffer.BUF_SIZE;
                }
                catch (Exception e)
                {
                    Log.d("pSocket", e.Message);
                }
#else
                tcpSocket = new StreamSocket();
                try
                {
                    tcpSocket.Control.OutboundBufferSizeInBytes = (uint)pBuffer.BUF_SIZE;
                }
                catch (Exception e)
                {
                    Log.d("pSocket", e.Message);
                }
#endif
                break;

            case SOCKET_TYPE_LISTENER:
#if !NETFX_CORE
                try
                {
                    listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                }
                catch (Exception e)
                {
                    Log.d("pSocket", e.Message);
                }
#else
                try
                {
                    listener = new StreamSocketListener();
                }
                catch (Exception e)
                {
                }
#endif
                break;

            case SOCKET_TYPE_UDP:
#if !NETFX_CORE
                try
                {
                    udpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                }
                catch (Exception e)
                {
                    Log.d("pSocket", e.Message);
                }
#else
                try
                {
                    udpSocket = new DatagramSocket();
                }
                catch (Exception e)
                {
                    Log.d("pSocket", e.Message);
                }
#endif
                break;

                /*case SOCKET_TYPE_TCP_CHANNEL:
                 *      try
                 *      {
                 *              tcpSocketChannel = SocketChannel.open();
                 *      }
                 *      catch(Exception e)
                 *      {
                 *              e.printStackTrace();
                 *      }
                 *      break;
                 * case SOCKET_TYPE_TCP_ANDROID:
                 *      try
                 *      {
                 *              tcpSocketAndroid = new LuaSocket();
                 *      }
                 *      catch(Exception e)
                 *      {
                 *              e.printStackTrace();
                 *      }
                 *      break;*/
            }
        }