MFC-局域网聊天工具bug集锦

原创 2015年11月21日 13:28:51

基于socket_src目录下的lantalker的编译问题及解决(这跟下面的问题无关,只是方便博主记忆)

程序名称:talker3

工具:VS2013


1.cannot convert from const char a[6] to CString
本来的代码是:CString str = "recv-";
解决:改成 CString str = _T("recv-");就行了

2.cannot convert argument 2 from 'wchar_t*' to 'const char*'
解决:设置项目属性->配置属性->常规->修改unicode为多字符集

注:关于字符的错误还有一种可能的就是:#include<tchar.h>

3.用VS2013编译VS6写的程序时出现:building an mfc project for anon-unicode character set is deprecated.
原因:用于多字节字符编码 (MBCS) 的 MFC 库 (DLL) 不再包含于 Visual Studio 中,但是可用作插件
解决:下载mfc安装就行了

4.‘gethostbyname’: Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
   还有'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
解决:#define _WINSOCK_DEPRECATED_NO_WARNINGS还是没有用
最终方案:设置项目属性->C/C++ ->常规->SDL设为No

5.编译成功以后运行程序:“创建套接字错误”
原因:talker3.cpp中的InitInstance()函数里没有初始化套接字环境,复制代码用AfxSocketInit()函数初始化

6.解决了问题5之后编译出现:identifier "AfxSocketInit" is undefined
解决:#include "Afxsock.h"

这样创建套接字就成功了,但是绑定地址有错误,明天解决。但是对话框已经能加载了

7.绑定地址错误是因为之前就已经把3456号端口绑定过了,还没有正常关闭,所以失败
换一个端口号就行了

8.解决了上面的问题后成功运行了程序,却出现问题:
创建套接字和绑定地址都没问题,但是一按发送键对话框就自己退出了,查看端口也发现刚绑定好的端口没了
原因:使用的默认的“确认”控件,所以在响应函数里会自动生成代码:

void Ctalker3Dlg::OnBnClickedOk()
{
	// TODO: Add your control notification handler code here
	CDialogEx::OnOK();//把这一句注释就行了,原因自己想
	//这下面是我自己写的响应代码
}

9.error LNK2001: unresolved external symbol "protected: long __thiscall Ctalker3Dlg::OnTrayNotification(unsigned int,long)
原因:OnTrayNotification(unsigned int,long)函数只声明了但是没有定义
解决:在.cpp文件中加上函数的实现就行了,如:
LRESULT Ctalker3Dlg::OnTrayNotification(WPARAM uID, LPARAM lEvent)		
{
	return m_trayIcon.OnTrayNotification(uID, lEvent);
}

10.error rc2135:file not found:0
这个错误一般就是.rc文件有问题了,要不就是不小心修改了什么东西,要不就是用notepad++修改后保存,但是字符集有问题不是unicode
解决:这个问题我还没解决,试着用记事本打开这个文件,然后另存为unicode重编译还是不行

11.C1189: #error :  Please use the /MD switch for _AFXDLL builds
描述:我用debug版本编译后在没有装vs的电脑上运行不了,后改为release版本还是不行。
现在想在release版本下用静态编译,我是这么设置的:
项目属性->C/C++->代码生成->运行库选择“多线程/MT”,编译出现上面的错误
解决:项目属性->配置属性->general->use of mfc选择use mfc in static library


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java实现局域网聊天软件分享

前言                         翻翻u盘里面的东西,发现了自己以前实现的局域网聊天软件。这里共享出来给各位学习                   Java的童鞋。对知识的渴望源...
  • kiritor
  • kiritor
  • 2013年05月29日 11:50
  • 6546

QQ局域网聊天软件MFC CSocket编程

使用的工具是VS2010  C++ 使用MFC类CSocket类进行通信 实现在局域网内1对1通信。客户端登陆时无需手动输入服务器的IP地址,端口号。 服务器监听 客户端发送局域网广播信息 服务器...
  • huchenguang
  • huchenguang
  • 2014年02月26日 14:55
  • 1996

linux之间的简单的聊天工具(一般用在局域网下)

linux nc是一款功能相当强大的网络工具,被称为网络工具中的“瑞士军刀”。今天我们就是用他来进行简单的聊天。(不过这样做好像有点屈才了啊!!) 在192.168.1.1上: nc -l 123...
  • u011500307
  • u011500307
  • 2013年10月26日 18:16
  • 2139

自己动手做一个局域网聊天工具(一)

作者:朱金灿来源:http://blog.csdn.net/clever101 现在部门使用的局域网聊天工具是飞秋,但是飞秋总是不够稳定,有时会掉线。这使我萌生一个念头:做一个局域网聊天工具。局域...
  • clever101
  • clever101
  • 2016年09月30日 22:56
  • 2239

我的大作业——MFC开发的聊天工具(局域网形式,飞秋的半实现版)

/////////////////////////////////////////// // TCPClient.h文件include include include pragma comment(...
  • sinat_20801933
  • sinat_20801933
  • 2015年03月21日 22:19
  • 1504

Linux 局域网聊天工具 - QChat

QChat  安装sudo apt-get install qchat qchat 并没有 put a trigger into Menu,所以可以在menu中自行建立一个 shortcut: Nam...
  • solaris_navi
  • solaris_navi
  • 2009年08月24日 17:46
  • 1851

局域网聊天软件的设计思路

遗憾的 局域网聊天软件 是,那时我们都把这个当成一个joke,充其量回复一句i服了you!,而没有反思使用标准算法的问题。目前来看,在口令保存上,使用最为广泛的算法是标准md5 hash。但实际上...
  • i_like_cpp
  • i_like_cpp
  • 2012年01月06日 17:37
  • 1760

局域网聊天工具

  按企业部门进行划分用户组;   可实现单人、多人之间的文本对话;   方便高效的自动应答系统;   可在任何形式局域网及企业专线网中使用;   谈话窗口中可...
  • i_like_cpp
  • i_like_cpp
  • 2007年09月16日 11:29
  • 4385

java学习笔记: 实现简易局域网聊天程序

java学习笔记: 实现简易局域网聊天程序 博客分类:  java java聊天程序   Java代码   /*  使用UDP模式,编...
  • songjunyan
  • songjunyan
  • 2014年09月20日 10:39
  • 1168

java+socket 简易聊天工具

1、服务器端程序 package com.test3; import java.io.*; import java.net.*; import java.awt.*; import java.a...
  • xsc_c
  • xsc_c
  • 2013年10月10日 21:55
  • 1891
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC-局域网聊天工具bug集锦
举报原因:
原因补充:

(最多只允许输入30个字)