• winsock 错误 0x0000274d 由于目标机器积极拒绝,无法连接问题解决


    一段简单的Conncet代码,却总是返回 0x0000274d 错误

    查了半天终于发现了问题。port忘记进行字节序转换了。

    应该是addr.sin_port=htons(port);

    问题解决了。

    目标机器上指定的端口上并没有服务,当然会返回积极拒绝。

    为了证实这一点,改一个再改一个错误的并不存在的端口号来试一下。

    也是返回这个错误。

    将服务端停掉,端口号正确也是返回这个错误。

    以后再遇到这个问题应该考虑的是连接参数是否正确以及目标服务器的指定端口有没有打开。

    WSADATA data;
    memset(
    &data,0,sizeof(data));
    WSAStartup(MAKEWORD(
    2,2),&data);
    s_
    =socket(AF_INET,SOCK_STREAM,0);
    SOCKADDR_IN addr;
    memset(
    &addr,0,sizeof(addr));
    addr.sin_family
    =AF_INET;
    addr.sin_addr.s_addr
    =inet_addr(ip);
    addr.sin_port
    =port;
    connect(s_,(sockaddr
    *)&addr,sizeof(addr));

      

    另外BBS上的这个帖子的讨论对解决这个问题很有启发:

    http://topic.csdn.net/t/20020518/18/733331.html

  • 相关阅读:
    自动机
    C语言文法
    实验报告一:词法分析
    Python的基础综合练习
    Python基础综合练习
    turtle画五星红旗
    熟悉常用的Linux操作
    大数据概述
    对学习编译原理的看法
    LINUX
  • 原文地址:https://www.cnblogs.com/oyjj/p/2132880.html
Copyright © 2020-2023  润新知