【发布时间】:2017-05-03 17:41:23
【问题描述】:
我是异步编程的新手,我认为这可能是我的问题,但查看其他答案,我不确定是否找到适合我情况的答案。
我正在尝试使用 TcpClient 连接到服务器和端口并从中获取流,但我收到以下错误:
在未连接的套接字上不允许该操作
我只能假设这是因为异步连接
我的另一个困惑点是 TcpClient 似乎有一个 不仅连接 ConnectAsync TcpClient Connect method,而且连接 不会生成 TcpClient 不包含的错误 连接的定义。
还有我尝试使用的这个文档,似乎GetStream 是答案,但我不确定我是否正确实施它。
.NET Core TcpClient
using (var irc = new TcpClient())
{
irc.ConnectAsync(_server, _port);
using (var stream = irc.GetStream())
using (var reader = new StreamReader(stream))
using (var writer = new StreamWriter(stream))
{
// Rest of code
}
}
【问题讨论】:
-
您忘记等待以完成连接。问题不是由
ConnectAsync引起的,而是因为在客户端有机会连接之前调用GetStream引起的