我是 C# 新手,但从事 TCP 和套接字编程多年。 我想创建一个程序来执行异步 I/O(仅接收)来自 多个服务器。数据是文本,由换行符分隔(非常简单)。
我的问题是如果我使用 StreamReader 是否可以假设 在我的异步读取回调函数中,我是否可以假设
- 至少能得到一行完整的数据,并且
- 它不会以某种方式阻塞。
按照我的理解,我想在我的中做一个 StreamReader ReadLine 异步读取回调。但是 BeginRead 中的内容知道我真的 想做面向行的数据?我显然不知道阅读的长度 那时。
我希望这是有道理的,提前致谢!
米奇
最佳答案
根据您的帖子,我认为您需要创建自己的类,并将SYNCHRONOUS 套接字包装到其中。您将以阻塞方式Read()
套接字、缓冲数据、拆分行并在整行可用时向类使用者触发事件。
关于c# - 使用 C# 异步套接字读取面向行的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6415280/