gpt4 book ai didi

c# - 使用 TcpClient 通过网络发送和接收数据

转载 作者:IT王子 更新时间:2023-10-29 04:04:48 25 4
gpt4 key购买 nike

我需要开发一个连接到 TCP 服务器的服务。主要任务是读取传入的消息,并在十分钟内向服务器发送命令,如同步命令。例如,我使用了如下所示的 TcpClient 对象:

...
TcpClient tcpClient = new TcpClient();
tcpClient.Connect("x.x.x.x", 9999);
networkStream = tcpClient.GetStream();
clientStreamReader = new StreamReader(networkStream);
clientStreamWriter = new StreamWriter(networkStream);
while(true)
{
clientStreamReader.Read()
}

此外,当我需要用任何方法写出一些东西时,我使用:

 clientStreamWriter.write("xxx");

这种用法正确吗?或者有更好的方法吗?

最佳答案

首先,我建议您使用 WCF、.NET Remoting 或其他一些更高级别的通信抽象。 “简单”套接字的学习曲线几乎与 WCF 一样高,因为直接使用 TCP/IP 时存在许多不明显的陷阱。

如果您决定继续使用 TCP/IP 路径,请查看我的 .NET TCP/IP FAQ ,特别是关于 message framing 的部分和 application protocol specifications .

此外,使用异步套接字 API。同步 API 无法扩展,在某些错误情况下可能会导致死锁。同步 API 只需要很少的示例代码,但实际生产质量代码使用异步 API。

关于c# - 使用 TcpClient 通过网络发送和接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com