|
|
|
|
 socket描述符sockfd居然等于0 - qiuyang957 [ 2006-04-30 18:41 | 449 byte(s)]
 Re: socket描述符sockfd居然等于0 - qiuyang957 [ 2006-05-03 09:26 | 31 byte(s)]
 Re: socket描述符sockfd居然等于0 - drangon_zhou [ 2006-05-03 19:27 | 74 byte(s)]
 Re: socket描述符sockfd居然等于0 - qiuyang957 [ 2006-05-07 09:43 | 68 byte(s)]
 Re: socket描述符sockfd居然等于0 - KingArthur [ 2006-04-30 22:52 | 128 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
我的程序运行不通,所以用gdb一步一步的运行看看,结果是这样的:
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0) 运行过后查看sockfd的值居然是0
addr.sin_family=AF_INET;执行后addr.sin_family=0
addr.sin_port=htons(PORT);执行后addr.sin_port=0
addr.sin_addr.s_addr=htonl((unsigned long int)IP);执行后addr.sin_addr.s_addr=0
请大家指点一下这是什么原因啊,先感谢大家!
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
|
sockfd有可能等于0,如果当前最小可用描述符为0的话.换句话说,如果之前你关掉了标准输入,标准输出,标准错误,然后socket得到的sockfd就为0.
|
|
|
----
我只是个coder
|
|
[Original]
[Print]
[Top]
|
|
|