【发布时间】:2021-11-14 03:01:25
【问题描述】:
我正在尝试使用 TcpClient 发送多个数据包。此代码适用于第一次迭代。但是在第一次迭代之后,服务器没有收到任何东西(尽管循环不断迭代)。服务器端代码运行良好,因为我一直在使用数据包发送方对其进行测试。有什么可以使用 TcpClient 发送突发数据包吗?
TcpClient tcpClient = new TcpClient(localIpAddress,localPort);
tcpClient.NoDelay = true;
tcpClient.Connect(remoteIpAddress,remotePort);
Stream stream=tcpClient.GetStream();
int i = 0;
while (true)
{
i = i + 1;
Console.WriteLine("Message {0} Sent",i);
stream.Write(Encoding.ASCII.GetBytes(message))));
stream.Flush();
Thread.Sleep(500);
}
【问题讨论】:
-
数据包是 TCP 的实现方式,但作为用户,您应该完全不了解它们。 TCP 公开的抽象是无尽的字节流。如果您想将该流分解为数据包或消息,则由您在无穷无尽的字节流上实现这种框架(或转移到为您执行此操作的更高级别的协议)跨度>
标签: c# .net sockets server tcpclient