Beispiel #1
0
        /// <summary>
        /// 构造函数,指定端口,默认监听所有地址0.0.0.0
        /// </summary>
        /// <param name="port">监听端口</param>
        /// <param name="receiveDataFilter">通信协议</param>
        /// <param name="encoding">字符编码</param>
        /// <param name="logger">日志接口</param>
        public AsyncTcpServer(int port, IReceiveDataFilter receiveDataFilter,
                              Encoding encoding = null, ILogger logger = null)
        {
            this.ServerIP    = IPAddress.Any.ToString();
            this.ServerPort  = port;
            m_serverListener = new TcpListener(IPAddress.Any, port);

            ReceiveDataFilter = receiveDataFilter;
            if (encoding == null)
            {
                Encoding = System.Text.Encoding.UTF8;
                ReceiveDataFilter.Encoding = System.Text.Encoding.UTF8;
            }
            else
            {
                Encoding = encoding;
                ReceiveDataFilter.Encoding = encoding;
            }
            Logger = logger;
            ReceiveDataFilter.Logger = logger;
        }
Beispiel #2
0
        /// <summary>
        /// 构造函数,指定地址、端口、通信协议
        /// </summary>
        /// <param name="ip">服务器地址</param>
        /// <param name="port">服务器端口</param>
        /// <param name="receiveDataFilter">通信协议</param>
        /// <param name="encoding">字符编码</param>
        /// <param name="logger">日志接口</param>
        public AsyncTcpClient(string ip, int port, IReceiveDataFilter receiveDataFilter,
                              Encoding encoding = null, ILogger logger = null)
        {
            RemoteIPEndPoint = new IPEndPoint(IPAddress.Parse(ip), port);

            m_tcpClient = new TcpClient();
            m_tcpClient.SendBufferSize    = BUFFER_SIZE;
            m_tcpClient.ReceiveBufferSize = BUFFER_SIZE;

            ReceiveDataFilter = receiveDataFilter;
            if (encoding == null)
            {
                Encoding = System.Text.Encoding.UTF8;
                ReceiveDataFilter.Encoding = System.Text.Encoding.UTF8;
            }
            else
            {
                Encoding = encoding;
                ReceiveDataFilter.Encoding = encoding;
            }
            Logger = logger;
            ReceiveDataFilter.Logger = logger;
        }
Beispiel #3
0
        /// <summary>
        /// 构造函数,指定IPEndPoint、通信协议
        /// </summary>
        /// <param name="remoteEP">服务器地址和端口</param>
        /// <param name="receiveDataFilter">通信协议</param>
        /// <param name="encoding">字符编码</param>
        /// <param name="logger">日志接口</param>
        public AsyncTcpClient(IPEndPoint remoteEP, IReceiveDataFilter receiveDataFilter,
                              Encoding encoding = null, ILogger logger = null)
        {
            RemoteIPEndPoint = remoteEP;

            m_tcpClient = new TcpClient();
            m_tcpClient.SendBufferSize    = BUFFER_SIZE;
            m_tcpClient.ReceiveBufferSize = BUFFER_SIZE;

            ReceiveDataFilter = receiveDataFilter;
            if (encoding == null)
            {
                Encoding = System.Text.Encoding.UTF8;
                ReceiveDataFilter.Encoding = System.Text.Encoding.UTF8;
            }
            else
            {
                Encoding = encoding;
                ReceiveDataFilter.Encoding = encoding;
            }
            Logger = logger;
            ReceiveDataFilter.Logger = logger;
        }
Beispiel #4
0
 public MyTcpServer(int port, IReceiveDataFilter receiveDataFilter,
                    Encoding encoding = null, ILogger logger = null)
     : base(port, receiveDataFilter, encoding, logger)
 {
 }
Beispiel #5
0
 public MyTcpServer(IPAddress ipAddress, int port, IReceiveDataFilter receiveDataFilter,
                    Encoding encoding = null, ILogger logger = null)
     : base(ipAddress, port, receiveDataFilter, encoding, logger)
 {
 }