【发布时间】:2017-04-11 10:09:58
【问题描述】:
我正在编写一个通过套接字发送 XDR 结构的服务器。 使用 Wireshark,我看到我的客户端正确地将 XDR 消息发送到服务器,但我没有看到任何数据从服务器传输到客户端。但是代码似乎是正确的,因为它与客户端使用的代码相同。我已经看到问题是 xdr_Response。它有什么错误吗?谢谢大家
XDR xdrs_w;
Response y;
stream_socket_w = fdopen(s, "w");
xdrstdio_create(&xdrs_w, stream_socket_w, XDR_ENCODE);
y.error = 0;
y.result = 5.7;
xdr_Response(&xdrs_w, &y);
fflush(stream_socket_w);
与:
struct Response {
bool_t error;
float result;
};
typedef struct Response Response;
【问题讨论】:
-
你可以使用例如
strace命令可帮助您跟踪系统调用,希望包括由您的 XDR 函数生成的调用。然后你可以看到失败之类的东西。 -
顺便问一下,
xdr_Response可以返回一些错误代码吗?你检查过吗? -
是的,xdr_Response 返回错误