示例#1
0
        public void Start(string peerId)
        {
            if (_isRunning)
            {
                throw new InvalidOperationException("Already started");
            }

            _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
            {
                NoDelay = true
            };

            _socket.Connect(_serverEndpoint);

            _sender   = new TcpFrameSender(_socket);
            _receiver = new TcpFrameReceiver(_socket);
            _receiver.MessageReceived += OnMessageReceived;

            _isRunning = true;

            _receiver.StartReceive();

            Connected?.Invoke();
        }
示例#2
0
 public void Receive() => _receiver.StartReceive();