当前位置: 移动技术网 > IT编程>开发语言>.net > c# System.Net.Sockets =》TcpListener用法

c# System.Net.Sockets =》TcpListener用法

2019年08月23日  | 移动技术网IT编程  | 我要评论

开门见夫,风流老板俏秘书下载,北京 公积金

 private tcplistener _listener;
#region 初始化 listener public override void init() { try { devinfo.read(); var localaddr = ipaddress.parse(ip); var port = convert.toint32(port); _listener = new tcplistener(localaddr, port); } finally { statuschangedevent?.invoke(status); } } #endregion

开始运行

        public override void start()
        {
            init();
            _listener?.start();
            task.factory.startnew(monittcpclientconnect);           
        }

监听

        private void monittcpclientconnect()
        {
            while (true)
            {
                try
                {
                    var client = _listener.accepttcpclient();
                    task.factory.startnew(monitorrecvdata, client);
                }
                catch
                {
                    _listener.stop();
                    _listener = null;                return;
                }
            }
        }

处理事件

        private void monitorrecvdata(object obj)
        {
            try
            {
                var tcpclient = obj as tcpclient;
                if (tcpclient == null)
                {
                    return;
                }

                var buffer = new byte[1024];var stream = tcpclient.getstream();
                while (true)
                {
                    var count = stream.read(buffer, 0, buffer.length);

                    if (count == 0)
                    {
                        throw new exception("客户端下线");
                    }

                    var str = encoding.ascii.getstring(buffer, 0, count);
                }
            }
            catch
            {
                // ignored
            }
        }

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网