当前位置: 代码迷 >> C语言 >> [求助]Socket问题
  详细解决方案

[求助]Socket问题

热度:281   发布时间:2006-10-15 12:28:10.0
[求助]Socket问题

我在做SOCKET编程时发现的一个错误.
我用的是select()函数.
大概代码是这样.
fd_set fsck;
fd_set fRead;

int main()
{
SOCKET sck;
...(有关套接字的建立与端口绑定)
...
FD_ZERO(&fsck);
FD_ZERO(&fRead);
FD_SET(sck,&fsck);
while(1)
{
fRead=fsck;
nRtn=select(0,&fRead,NULL,NULL,NULL);
...(判断并接受数据)
}
}
要注意的是我把fsck和fRead变量都设成全局变量,结果第一次没问题,下次开始select返回-1,就是出错了.
但我把fsck和fRead设成局部变量,又没有问题了.
fsck是一个结构.
typedef struct _fd_set
{
int fd_count;
SOCKET fd_array[FD_MAXSIZE];
}fd_set;

难道结构体在全局的时候初始化有问题????

搜索更多相关的解决方案: Socket  

----------------解决方案--------------------------------------------------------
select()第一个参数错了,另外设置一个读集就可以了,你设两个干吗?赋值好玩啊

不用设置结构,创建套接口,绑定,监听后用select()就行了

----------------解决方案--------------------------------------------------------
  相关解决方案