【问题标题】:server/ client server connection服务器/客户端服务器连接
【发布时间】:2010-04-30 19:34:56
【问题描述】:

我有一个创建监听服务器端套接字的服务器端程序。发生的问题是,如果服务器端套接字正在侦听,似乎客户端发送连接请求会被拒绝,但如果服务器端程序未运行则连接。我可以看到服务器端程序在调试时获取客户端请求。似乎客户端无法连接到侦听套接字。对解决方案有何建议?

服务器端接受码sn-p是这样的。

    void CSocketListen::OnAccept(int nErrorCode)
    {
    CSocket::OnAccept(nErrorCode);

   CSocketServer* SocketPtr = new CSocketServer();
    if (Accept(*SocketPtr))
    {
         // add to  list of client sockets connected
    }
    else
   {
        delete SocketPtr;
   }

The client side code connect is like this.

    SOCKET cellModem;  
    sockaddr_in handHeld;
    handHeld.sin_family = AF_INET; //Address family    
    handHeld.sin_addr.s_addr = inet_addr("127.0.0.1");    
    handHeld.sin_port = htons((u_short)1113); //port to use

    cellModem=socket(AF_INET,SOCK_STREAM,0);    

    if(cellModem == INVALID_SOCKET)
    {
      // log socket failure
      return false;
    }
    else
    {
     // log socket success
    }


   if (connect(cellModem,(const struct sockaddr*)&handHeld, sizeof(handHeld)) != 0 )
   {
     // log socket connection success   
   }
   else
   {
     // log socket connection failure
     closesocket(cellModem);
   }

【问题讨论】:

  • 我认为我们需要查看更多代码...

标签: sockets mfc client


【解决方案1】:

听起来那个端口正在被其他东西打开?你能确认你不是在竞争同一个端口吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 2016-07-06
    • 2012-03-27
    • 2012-05-22
    • 2016-12-10
    • 2020-03-03
    • 2021-08-12
    • 1970-01-01
    相关资源
    最近更新 更多