简单聊天室客户端连接不到服务器

likid1412 2012-04-09 09:21:45
照着书上的内容输代码,由于书中所述是vc6的,而我是使用vc2008,所以除了改动一点代码之外,基本和书中给的例子一样(有源码,可运行)。该示例是建立一个简单的聊天室,即可作为服务端也可作为客户端。使用服务端基本没有问题,用书中附带的源码编译的程序当客户端也可以连接到。但是作为客户端的时候连接出错。该示例使用自定义消息函数,点击“作为客户端连接”时,使用 WSAAsyncSelect(m_hSocket,m_hWnd,CLIENT_MESSAGE,FD_READ|FD_WRITE|FD_CLOSE|FD_CONNECT) 进行消息的发送,可是并当调用了connect(m_hSocket, (LPSOCKADDR)&m_addr, sizeof(m_addr))之后,并没有跳到消息函数去。是原理就是这样还是哪里错了,请各位大佬帮小弟看看。
完整代码下载链接:http://download.csdn.net/detail/likid1412/4211815
...全文
199 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
likid1412 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]



[/Quote]
受教!
结贴!
向立天 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 4 楼 的回复:

引用 3 楼 的回复:


嗯,是的,就是这样解决的。不过还是觉得用windows API挺麻烦的,记得之前有人说过可以用boost库进行通信。不知道网络编程方面的编程用什么库比较好,MFC有点麻烦,可以给个参考吗?
[/Quote]
用winsocket还是可以的
只要你基于windows操作系统
无论用什么方法都离不开windows API
而且程序设计是思路和方法的问题
任何途径其实都无所谓
西山小月 2012-04-10
  • 打赏
  • 举报
回复
不要照着书敲代码,现在国内的书都很烂,写书的人水平也都很低,有的根本连代码都没写过,多数都是教授挂名,学生写的,一帮狗屁不懂的人瞎写。学编程不要买书,买也不要买大陆的人写的。
likid1412 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

[/Quote]
嗯,是的,就是这样解决的。不过还是觉得用windows API挺麻烦的,记得之前有人说过可以用boost库进行通信。不知道网络编程方面的编程用什么库比较好,MFC有点麻烦,可以给个参考吗?
向立天 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
// 由于CString是Unicode编码,即使使用强制转换成char* ,也还是出问题,所以使用下面的函数进行转换,可//正常运行
char * ip = new char[50] ;
WideCharToMultiByte(CP_ACP, 0, IPString.GetBuffer(),-1,ip,50,NULL,NULL);
m_addr.sin_addr.S_un.S_addr =……
[/Quote]
那你直接把工程字符集改回来应该就可以了
likid1412 2012-04-09
  • 打赏
  • 举报
回复
// 由于CString是Unicode编码,即使使用强制转换成char* ,也还是出问题,所以使用下面的函数进行转换,可//正常运行
char * ip = new char[50] ;
WideCharToMultiByte(CP_ACP, 0, IPString.GetBuffer(),-1,ip,50,NULL,NULL);
m_addr.sin_addr.S_un.S_addr = inet_addr(ip);
delete ip;
即IP地址转换的时候出错了。
likid1412 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

connect的返回值是什么
[/Quote]
connect的返回值是-1,但是在书中给出的源码返回值也是-1,可是能正常运行。可能出错的部分不是发送信息的关键部分。不过我已经找到问题的根源所在了,谢谢。
  • 打赏
  • 举报
回复
connect的返回值是什么

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧