我已經在vC++ 2008中編寫了一個TCP套接字應用程序。如果超過x秒,我想要'發送'操作超時。對於我嘗試使用發送操作的Winsocket超時
char *optValue = "5000";
setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, optValue, sizeof(optValue));
它返回成功,但「發送」沒有如預期表現。然後試着用
tv.tv_sec = 10; tv.tv_usec = 0; FD_SET(accept_socket, &write_mask); select(socket, (fd_set *)0, &write_mask, (fd_set *)0, &tv);
還有「送」根據超時值集不行爲。 請檢查是否是正確的方法?
你確定setsocket參數必須作爲字符串傳遞嗎?該函數接受一個char指針,但這只是用作指向「某些東西」的指針。 – harper
我把它改成了整數,並且使用了char指針。 (如下面答案1所述)。仍然問題沒有解決。 –