【发布时间】:2016-06-01 14:45:16
【问题描述】:
我无法通过套接字连接到我的服务器程序。
我的服务器程序可以正常使用 telnet 连接。
我找不到问题,有什么想法吗?
int main(void){
int sockfd =0;
char recvBuff[1024];
struct sockaddr_in serv_addr;
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons( 8888 );
memset(recvBuff, '0',sizeof(recvBuff));
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
printf("\n Error : Could not create socket \n");
return 1;
}
memset(&serv_addr, '0', sizeof(serv_addr));
if(inet_pton(AF_INET,"192.168.0.1", &serv_addr.sin_addr)<=0)
{
printf("\n inet_pton error occured\n");
return 1;
}
if( connect(sockfd, (struct sockaddr *)&serv_addr.sin_addr, sizeof(serv_addr.sin_addr)) < 0)
{
printf("\n Error : Connect Failed \n");
return 1;
}
return 0;
}
【问题讨论】:
-
首先您应该在所有错误情况下打印 errno。
-
[叹气] 发生了什么,打印出什么,什么是 perror/errno?
-
.. 例如,而不是
printf("\n Error : Connect Failed \n");使用perror("connect() failed"); -
.. 并为所有系统调用执行此操作。