自己写了个通信的软件,用MFC的CAsyncSocket。服务器上保存了用户的登录名和密码,每次登录的时候时候如果连接成功会提示“连接成功”,同时会把用户的登录名和密码发送到服务器上进行比对,比对成功的话就弹出一个聊天的对话框。如果是服务器和客户端放在一台机子上就可以通信,但是把另外一个客户端放在其他的机子上,不管密码输入对或是错,或是服务器的IP输入的对与错,都显示连接成功,而且弹不出对话框。为什么???是网络字节序的问题,客户端在不同的机子上的情况,代码是不一样的???网络不是很熟悉,望各位指点。万分感谢
解决方案 »
- 为什么在VC中不能保存当前的时间
- 怎样利用 setpixel()向png格式的通道里写数据呢?
- 对话框Skin后,使用spy++ 照不到 子控件,这个是怎么回事。
- 安装vs之后为什么打开一些网页老让我选择“是否调试”?
- 哪里有makecert,signcode这些制作签名的文件下载啊?
- 请问:怎样在组合框中的每项内容前加个小图标呀?谢谢
- 高分求解:在VC++中,怎样向SQL Server 7.0的存储过程传送二进制流?
- 如何让我知道程序中变量的值?
- 时间客户端程序,刚学网络编程,求解
- 微软专家:What is IL(in .NET)? Are all managed code compiled to IL?
- vc2010中怎么不见 “MS Chart” 资源了?
- MFC自定义控件
{
AfxMessageBox(_T("创建连接套接字失败"));
exit(0);
}
CString serverIP=changeIPtoCString(); //在客户端的对话框里有一个编辑框是用于填写服务器IP的
LPCTSTR LserverIP=(LPCTSTR)serverIP;
UINT serverPort=m_ServerPort; //用户填写的服务器端口
if( m_Csocket.Connect(LserverIP,m_ServerPort) == FALSE ) //连接
{
int ret = m_Csocket.GetLastError();
if (ret != WSAEWOULDBLOCK)
{
AfxMessageBox(_T("连接服务器失败!"));
exit(0);
}
}总感觉上面代码有错误,但是就是不知道怎么改。
{
AfxMessageBox(_T("成功连接服务器"));
//发送用户名和用户密码的结构体消息
}