コード例 #1
0
        private void StartLoop(CancellationToken cancellationToken)
        {
            Task.Run(() =>
            {
                var timeout = TimeSpan.FromMilliseconds(10);

                using (var server = new ResponseSocket())
                {
                    server.Bind(DefaultPublicationAddress);

                    while (!cancellationToken.IsCancellationRequested)
                    {
                        var bytes = new List <byte[]>();

                        if (!server.TryReceiveMultipartBytes(timeout, ref bytes))
                        {
                            continue;
                        }

                        var requestType = ParseRequestType(bytes[0]);

                        SendResponse(server, requestType);
                    }
                }
            },
                     cancellationToken);
        }