堕落kiss 于 2011-03-02 19:10:09发表:
学习了.
txgc_wm 于 2011-03-02 18:57:37发表:
2# deepwhite 再次表示感谢,程序已能够顺利通过测试了!
txgc_wm 于 2011-03-02 18:38:21发表:
2# deepwhite 谢谢!
deepwhite 于 2011-03-02 09:25:13发表:
tcp_client.c 中:[code] if(sockfd=socket(AF_INET,SOCK_STREAM,0)==-1) { fprintf(stderr,"socket error :%s\n\a",strerror(errno)); exit(1); } [/code]注意一下 operator 的优先级: 赋值(=) 的优先级比 (==) 要低,所以创建 socket 的这句话,编译器会解释成: sockfd = (socket(AF_INET,SOCK_STREAM,0)==-1) 这显然是不对的。 改成[code] if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) { fprintf(stderr,"socket error :%s\n\a",strerror(errno)); exit(1); } [/code]即可。 PS: 新手的话,把这句话拆开成两句更清晰一些:[code] sockfd = socket(AF_INET, SOCK_STREAM, 0); if(sockfd==-1) { fprintf(stderr,"socket error :%s\n\a",strerror(errno)); exit(1); } [/code]个人推荐后一种写法。
堕落kiss 于 2011-03-02 19:10:09发表:
学习了.
txgc_wm 于 2011-03-02 18:57:37发表:
2# deepwhite
再次表示感谢,程序已能够顺利通过测试了!
txgc_wm 于 2011-03-02 18:38:21发表:
2# deepwhite
谢谢!
deepwhite 于 2011-03-02 09:25:13发表:
tcp_client.c 中:[code]
if(sockfd=socket(AF_INET,SOCK_STREAM,0)==-1)
{
fprintf(stderr,"socket error :%s\n\a",strerror(errno));
exit(1);
}
[/code]注意一下 operator 的优先级: 赋值(=) 的优先级比 (==) 要低,所以创建 socket 的这句话,编译器会解释成: sockfd = (socket(AF_INET,SOCK_STREAM,0)==-1)
这显然是不对的。
改成[code]
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"socket error :%s\n\a",strerror(errno));
exit(1);
}
[/code]即可。
PS:
新手的话,把这句话拆开成两句更清晰一些:[code]
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd==-1)
{
fprintf(stderr,"socket error :%s\n\a",strerror(errno));
exit(1);
}
[/code]个人推荐后一种写法。