linux socket closeconnection,求助:socket的Connection refused

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

server已经运行,参考贴吧另一篇帖子运行nc localhost 8888没有问题,./client localhost 8888就出错Connection refused, 请问是哪里写的不对嘛?

1 #include

2 #include

3 #include

4 #include

5 #include

6 #include

7 #include

8 #include

9

10 int main(int argc, char *argv[])

11 {

12 int sockfd;

13 char buffer[1024];

14 struct sockaddr_in server_addr;

15 struct hostent *host;

16 int portnumber, nbytes;

17

18 if (argc != 3){

19 fprintf(stderr, "Usage: %s hostname portnumber \n", argv[0]);

20 exit(1);

21 }

22 if((host = gethostbyname(argv[1])) == NULL){

23 fprintf(stderr, "Get hostname error.\n");

24 exit(1);

25 }

26 if ((portnumber == atoi(argv[2])) < 0 || portnumber < 0){

27 fprintf(stderr, "Please input right portnumber\n");

28 exit(1);

29 }

30

31 if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1){

32 fprintf(stderr, "Socket Error: %s \n\a", strerror(errno));

33 exit(1);

34 }

35

36 bzero(&server_addr, sizeof(server_addr));

37 server_addr.sin_family = AF_INET;

38 server_addr.sin_port = htons(portnumber);

39 server_addr.sin_addr = *((struct in_addr *)host->h_addr);

40

41 if(connect(sockfd, (struct sockaddr *)(&server_addr), sizeof(struct sockaddr)) == -1){

42 fprintf(stderr, "Connect error: %s\n", strerror(errno));

43 exit(1);

44 }

45

46 if((nbytes = read(sockfd, buffer, 1024)) == -1){

47 fprintf(stderr, "Read error: %s\n", strerror(errno));

48 exit(1);

49 }

50

51 buffer[nbytes] = *\0*;

52 printf("Received message: %s\n", buffer);

53

54 close(sockfd);

55 exit(0);

56 }

57

58

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值