【发布时间】:2018-05-07 21:08:14
【问题描述】:
我正在尝试从连接到 AGWP 引擎的套接字读取数据。它是一个简单的 TCP/IP 服务器,默认情况下通过 8000 端口上的套接字发送帧。
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect("10.0.0.2", 8000);
socket.ReceiveTimeout = 3000;
while(true)
{
Console.WriteLine(socket.Connected + " - " + socket.Available);
byte[] buffer = new byte[36];
int read = socket.Receive(buffer, 0, 0, SocketFlags.None, out SocketError error);
Console.WriteLine(read);
}
这是我在其他各种项目中使用的代码示例。但我在缓冲区中没有收到任何内容。
当我运行应用程序AGWTracker 时,我可以正确看到传入的数据。我确实找到了一个agwpe .net port,它也不起作用。
根据我从 socket.Available 得到的响应,流中不应存在任何数据。有没有其他方法可以检查数据是否可用?有没有其他类可以代替socket或socketClient?
【问题讨论】:
-
那么就没有什么可读的了;您确定您完成了出站消息,包括任何终止符吗?
-
这确实是问题所在。我必须在套接字上启用一些监视框架。在我之前的文档中没有很好地记录。 thx 这个提示让我寻找这个协议的好文档