代码如下:
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都给你了,谢谢啦!
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都给你了,谢谢啦!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货