代码如下:
        UpdateData(TRUE);
CString str = m_Connect_UserName.GetBuffer(0);
DWORD dwTarget_IP;
CString csTemp;
m_Target_IP.GetAddress(dwTarget_IP);//m_Target为我在编辑框里输入的IP
csTemp = IPToStr(dwTarget_IP);//IPToStr为我自定义的一个函数,格式化IP的作用
socket_handle = socket(AF_INET, SOCK_STREAM, 0);//创建一个socket句柄
if (socket_handle <=0)//如果创建失败,弹出消息
{
MessageBox(_T("Socket创建失败"));
}
else
{
MessageBox(_T("Socket创建成功"));//运行的时候弹出了成功对话框,说明socket建立成功。
}        sprintf_s(Target_Connect_IP, "%S", csTemp);//把IP转换后传给Target_Connect_IP
struct sockaddr_in addr;//定义结构体addr
        addr.sin_family=AF_INET;
        addr.sin_port=htons(mTarget_Port);//mTarget_Port为端口,定义形式为 #define mTarget_Port 10001,这样定义有问题吗?
        addr.sin_addr.s_addr=inet_addr(Target_Connect_IP);
memset(&(addr.sin_zero),0,8);
CString str3;
        str3.Format(_T("%d"),socket_handle);
        MessageBox(str3);//这里弹出的socket_handle为-1,为什么呀?前面已经表示socket句柄创建成功了,怎么这里就为-1了? int result=connect(socket_handle,(struct sockaddr *)&addr,sizeof(addr));//建立connect
    if (result < 0)
{
MessageBox(_T("与远程主机建立连接失败"));//每次都弹出,说明connect建立失败啊,问题出在哪里?
char str[MAX_PATH];
        DWORD Connect_Error=GetLastError();
                CString str1;
        CString str2;
                str1.Format(_T("%u"),Connect_Error);//
        str2.Format(_T("%S"),Target_Connect_IP);
                MessageBox(str1);//弹出错误代码为1400,说明什么?
                MessageBox(str2);//弹出的IP是正确的,说明IP没有错
}
return;
手上的分就30分了,哪位大哥帮我看看,30都给你了,谢谢啦!