您的位置:首页 > Web前端 > React

用Reactive Extensions实现一个简单的EchoServer

2011-04-11 20:22 183 查看
在昨天的随笔Reactive Extensions学习里,我写了个简单的stream异步读操作的扩展封装。今天我用它来实现了一个简单的EchoServer:

//一个简单的异步echo server
static void Main(string[] args)
{
var listener = new TcpListener(new IPEndPoint(IPAddress.Loopback, 3000));

listener.Start();
while (true)
{
var client = listener.AcceptTcpClient();

var stream = client.GetStream();
var writer = new StreamWriter(stream) { AutoFlush = true };
var buffer = new byte[1024];

stream.ReadLinesAsync(buffer)
.Select(line => ">>> " + line)
.Finally(client.Close)
.Subscribe(writer.WriteLine);
}
}

代码非常精简,比起以前的异步架构来说精简了不少。后续有时间的话再尝试用它重写一下以前的MSN客户端看看效果怎么样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: