c/c++语言开发共享将客户端绑定到本地端口

我正在尝试配置我的TCP客户端以使用特定的本地端口连接到另一个TCP服务器。

我正在使用下面的代码,但它不起作用。 你知道我做错了什么,如果可能的话? 我正在使用LINUX机器。

谢谢

AFG

int localport=32000; m_clientfd = socket( AF_INET, SOCK_STREAM, 0 ); assert( m_clientfd >= 0 ); // someone set the localport struct sockaddr_in sa_loc; struct hostent* pLocalHostInfo = gethostbyname( "localhost" ); long LocalHostAddress; memcpy( &LocalHostAddress, pLocalHostInfo->h_addr , pLocalHostInfo->h_length ); // Local memset(&sa_loc, 0, sizeof(struct sockaddr_in)); sa_loc.sin_family = AF_INET; sa_loc.sin_port = htons(localport); sa_loc.sin_addr.s_addr = LocalHostAddress; int ret_bind = bind(m_clientfd, (struct sockaddr *)&sa_loc , sizeof(struct sockaddr)); assert( ret_bind != -1 ); 

     int ret_bind = bind(m_clientfd, (struct sockaddr *)&sa_loc, sizeof(struct sockaddr)); 

    最后一个参数应该是sizeof(sa_loc)sizeof(struct sockaddr_in)

    看起来使用下面的代码使应用程序正常工作。 这足以删除本地IP的设置。

     // Local memset(&sa_loc, 0, sizeof(struct sockaddr_in)); sa_loc.sin_family = AF_INET; sa_loc.sin_port = htons(localport); // sa_loc.sin_addr.s_addr = LocalHostAddress; // COMMENT THIS TO WORK int ret_bind = bind(m_clientfd, (struct sockaddr *)&sa_loc , sizeof(struct sockaddr)); assert( ret_bind != -1 ); 

      以上就是c/c++开发分享将客户端绑定到本地端口相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/519525.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐