小弟有个很郁闷的问题
这几天在做socket的实验,从客户端连接服务器
但是就是从edit控件中读端口号,在赋值给sin_port后,连接报10049的错误。详情:edit控件我设置成接受UINT行。
 m_socket.sin_port = htons(m_port);//m_socket是sockaddr_in型;m_port是UINT型
 但是我写
 m_socket.sin_port = 5000;//这个可以连接成功请大家帮忙!

解决方案 »

  1.   

    看看m_port 的值对不对。 调用UpdateData(TRUE)了吗
      

  2.   

    或者 m_port 多试试几个值看看
      

  3.   

    可能m_port值空。 UpdateData试一下
      

  4.   

    还真是这个问题!但是我用update了啊UpdateData(TRUE);CString ip;
    this->m_ip.GetWindowText(ip);
    int ret = m_Client.ConnectServer((LPSTR)(LPCTSTR)ip,this->m_txt_port);还请大家再看看
      

  5.   

    htonl
    不是
    htons吧?
      

  6.   

    经过我的测试发现,问题出在 了updateData上。我在调用UpdateData(TRUE);先调用了一个更新当前状态的函数
    里面用到了UpdateData(FALSE);
    当我把后者注释掉了,就可以更新的当前值!!!这个该怎么办啊?