qq_23676873 2017-05-12 06:19 采纳率: 100%
浏览 1825
已采纳

求助,关于套接字connect错误

学习套接字编程, 在客户端程序出错, 输入如下
$ ./client 127.0.0.1
图片说明

服务端程序已经运行,且有端口 9877 LISTEN
运行的时候connect出错,出错代码errno为88
客户端代码如下

#include "apue.h"void str_cli(FILE *fp, int sockfd)
{
char sendline[MAXLINE], recvline[MAXLINE];
while(fgets(sendline, MAXLINE, fp) != NULL)
{
if(write(sockfd, sendline, strlen(sendline)) == -1)
printf("write error.\n");
readline(sockfd, recvline, MAXLINE);
if(fputs(recvline, stdout) < 0)
printf("\n fputs error.\n");
}
if(ferror(fp) != 0)
printf("fgets error.\n");
}int main(int argc, int *argv[])
{
int sockfd;
struct sockaddr_in servaddr; if(argc != 2)
error_out("usage:./a.out ");
if(sockfd = socket(AF_INET, SOCK_STREAM, 0) == -1)
error_out("socket error.");
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(SERV_PORT);
if(inet_pton(AF_INET, argv[1], &servaddr.sin_addr) < 0)
error_out("inet_pton error.");
if(connect(sockfd, (SA *)&servaddr, sizeof(servaddr)) != 0)
error_out("connect error.");
printf("connect after errno = %d\n", errno);
str_cli(stdin, sockfd);
exit(0);
}

  • 写回答

3条回答 默认 最新

  • qq_23676873 2017-05-12 08:57
    关注

    已经找到问题了,终结……

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度