在 UDP 套接字中调用 Select() 时出错
Error while calling Select() in UDP sockets
我正在 Windows 表单应用程序中进行套接字编程(UDP 套接字)。我想使用 select().
单击按钮时调用 socket(),select() 在不同线程中调用,套接字描述符声明为全局。
下面是我关于 select 的部分代码:
fd_set fds;
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 500000;
FD_ZERO(&fds);
FD_SET(s_8888, &fds);
int n=s_8888; //s_8888 is socket descriptor
select (n+1, &fds, 0 , 0 , &tv );
当我编译代码时出现以下错误
error C2064: term does not evaluate to a function taking 5 arguments
我无法理解我哪里做错了。
您可能 "shadowing" winsock 库的函数 select()
定义了另一个具有此名称的变量。
这个代码
#include <Winsock2.h> /* Provide prototype for select(). */
void foo(void)
{
int select;
...
select(0, 0, 0, 0, 0);
将通过 "shadowing" 函数 select()
和变量 int select
.
激发 error C2064
修复此重命名
int select;
至
int select_whateveryoulike;
我正在 Windows 表单应用程序中进行套接字编程(UDP 套接字)。我想使用 select().
单击按钮时调用 socket(),select() 在不同线程中调用,套接字描述符声明为全局。
下面是我关于 select 的部分代码:
fd_set fds;
struct timeval tv;
tv.tv_sec = 1;
tv.tv_usec = 500000;
FD_ZERO(&fds);
FD_SET(s_8888, &fds);
int n=s_8888; //s_8888 is socket descriptor
select (n+1, &fds, 0 , 0 , &tv );
当我编译代码时出现以下错误
error C2064: term does not evaluate to a function taking 5 arguments
我无法理解我哪里做错了。
您可能 "shadowing" winsock 库的函数 select()
定义了另一个具有此名称的变量。
这个代码
#include <Winsock2.h> /* Provide prototype for select(). */
void foo(void)
{
int select;
...
select(0, 0, 0, 0, 0);
将通过 "shadowing" 函数 select()
和变量 int select
.
修复此重命名
int select;
至
int select_whateveryoulike;