yanghuiysz 2017-03-28 15:01 采纳率: 0%
浏览 1762
已结题

c++socket accept问题

 /*创建socket*/
void CreateServer(SOCKET &Socket, SOCKET &serverocket, char* ipaddress, int port){
    //初始化 DLL
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2, 2), &wsaData);
    if (serverocket == NULL){

        Socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
        //绑定套接字
        sockaddr_in sockAddr;
        memset(&sockAddr, 0, sizeof(sockAddr));  //每个字节都用0填充
        sockAddr.sin_family = PF_INET;  //使用IPv4地址
        sockAddr.sin_addr.s_addr = inet_addr(ipaddress);  //具体的IP地址
        sockAddr.sin_port = htons((short)port);  //端口
        bind(Socket, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR));
        //进入监听状态
        listen(Socket, 20);
        SOCKADDR clntAddr;
        int nSize = sizeof(SOCKADDR);
        cout << "Wait connection" << endl;

        serverocket = accept(Socket, (SOCKADDR*)&clntAddr, &nSize);
    }
}

不知道为什么accept不能够阻塞,原来的这段代码能够实现,但现在在一点没变的情况下不能阻塞了,求大神指点,不胜感激。

  • 写回答

1条回答 默认 最新

  • yangbo50304 2017-03-29 07:14
    关注

    返回的是如果是INVALID_SOCKET, 调用下WSAGetLastError看啥错误

    评论

报告相同问题?

悬赏问题

  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。