0
我正在編寫一個通過套接字發送XDR結構的服務器。 使用Wireshark我看到我的客戶端正確地發送XDR消息到服務器,但我沒有看到任何數據從服務器到客戶端。但代碼似乎是正確的,因爲它與客戶端使用的代碼相同。我已經看到問題是xdr_Response。它有什麼錯誤嗎?感謝所有通過Linux中的C使用套接字發送XDR結構
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'](http://linux.die.net/man/1/strace)命令可以幫助您跟蹤系統調用,希望能夠包含由您的XDR功能所做的調用。然後你可以看到失敗的事情。 –
順便說一下,'xdr_Response'能返回一些錯誤代碼嗎?你檢查過了嗎? –
是的,xdr_Response返回一個錯誤 – user2467899