- 论坛徽章:
- 0
|
connect错误
int sock,i,flag;
struct sockaddr_in server;
struct hostend *he;
unsigned char buf[MAXLEN];
sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sock<0)
{
perror("opening streaming socket" ;
}
bzero(&server,sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(Port);
server.sin_addr.s_addr=inet_addr(add);
if ((flag = fcntl(sock, F_GETFL, 0)) < 0)
{
printf("取套接字属性错误\n" ;
return -1;
}
if (fcntl(sock, F_SETFL, flag | O_NONBLOCK) < 0)
{
printf("设置套接字属性错误\n" ;
return -1;
}
if ((i=connect(sock,(struct sockaddr *)&server,sizeof(struct sockaddr)))==-1)
{
perror("connect()\n" ;
printf("errno=%d\n",errno);
close(sock);
return -1;
}
if (fcntl(sock, F_SETFL, flag) < 0)
{
printf("设置套接字属性错误\n" ;
return -1;
}
/*这段是链接*/
另一段对方断的时候和程序跳出时close(sock); |
|