社区
网络编程
帖子详情
MFC编写的聊天程序遇到一个问题
fanghaobing
2010-03-14 01:41:40
1.发送聊天记录只能能发送接收一个字符;
2.按我的设本应该在信息在点击发送后,发送框编辑框的内容应该清空,但却出现乱码.
请教诸位了!
请诸位加我QQ,我好发原程序给诸位,或请您留言QQ号码或msn!
Q:543890921
msn:tcpking@hotmai.com
...全文
223
12
打赏
收藏
MFC编写的聊天程序遇到一个问题
1.发送聊天记录只能能发送接收一个字符; 2.按我的设本应该在信息在点击发送后,发送框编辑框的内容应该清空,但却出现乱码. 请教诸位了! 请诸位加我QQ,我好发原程序给诸位,或请您留言QQ号码或msn! Q:543890921 msn:tcpking@hotmai.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
eyodo8
2010-03-16
打赏
举报
回复
路过,帮顶一下。。
WizardK
2010-03-15
打赏
举报
回复
代码是抄的?那字符集呢?
guangmingdeshenju
2010-03-15
打赏
举报
回复
你 放在 vc++ 6 看下嘛
vs对字符的unicode 检校很严格哦
可能 哪没转化对
eajum
2010-03-15
打赏
举报
回复
GetDlgItem(IDC_EDIT_SEND)->GetWindowText((LPTSTR)strSend,100);
你最好还是照着孙鑫的书上写
CString strSend;
GetDlgItemText(IDC_EDIT_SEND, strSend);
第二个问题,你可以设一个断点跟踪一下。看看到你清空发送框数据时,发送框内数据是啥样的。
fanghaobing
2010-03-15
打赏
举报
回复
对,是的,书上的代码的开发环境是vc6.0,我根据思路在VS2008下重写一下,遇到这个问题,
但应该不是一句句对代码来解决问题吧,问题应该是出来代码移植和类弄匹配上,还请指教了!
enter333
2010-03-15
打赏
举报
回复
看你的代码应该是 孙鑫的vc++上的,你肯定在抄代码的时候哪里没抄对,将你自己的代码与书上的代码一句一句的对一下。
fanghaobing
2010-03-15
打赏
举报
回复
//关键代码贴出来,请指教
BOOL CchatDlg::InitSocket()
{
m_socket=socket(AF_INET,SOCK_DGRAM,0);
if(INVALID_SOCKET==m_socket)
{
MessageBox((LPCTSTR)"套接字创建失败!");
return FALSE;
}
SOCKADDR_IN addrSock;
addrSock.sin_family=AF_INET;
addrSock.sin_port=htons(6000);
addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
int retval;
retval=bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));
if(SOCKET_ERROR==retval)
{
closesocket(m_socket);
MessageBox((LPCTSTR)"绑定失败!");
return FALSE;
}
return TRUE;
}
DWORD WINAPI CchatDlg::RecvProc(LPVOID lpParameter)
{
SOCKET sock=((RECVPARAM*)lpParameter)->sock;
HWND hwnd=((RECVPARAM*)lpParameter)->hwnd;
delete lpParameter;
SOCKADDR_IN addrFrom;
int len=sizeof(SOCKADDR);
char recvBuf[200];
char tempBuf[300];
int retval;
while(TRUE)
{
retval=recvfrom(sock,recvBuf,200,0,(SOCKADDR*)&addrFrom,&len);
if(SOCKET_ERROR==retval)
break;
sprintf(tempBuf,"%s说: %s",inet_ntoa(addrFrom.sin_addr),recvBuf);
::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)tempBuf);
}
return 0;
}
LRESULT CchatDlg::OnRecvData(WPARAM wParam,LPARAM lParam)
{
CString str((char *)lParam);
CString strTemp;
GetDlgItemText(IDC_EDIT_RECV,strTemp);
str+="\r\n";
str+=strTemp;
SetDlgItemText(IDC_EDIT_RECV,str);
return NULL;
}
void CchatDlg::OnBnClickedBinSend()
{
// TODO: 在此添加控件通知处理程序代码
// TODO: Add your control notification handler code here
DWORD dwIP;
((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESS1))->GetAddress(dwIP);
SOCKADDR_IN addrTo;
addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(6000);
addrTo.sin_addr.S_un.S_addr=htonl(dwIP);
//CString strSend;
char strSend[100];
//GetDlgItemText(IDC_EDIT_SEND,str.Format("%s",strSend));
GetDlgItem(IDC_EDIT_SEND)->GetWindowText((LPTSTR)strSend,100);
//int nLength=strSend.GetLength();
//char *str=new char[nLength];
//str=strSend.GetBuffer(0);
sendto(m_socket,strSend,strlen(strSend)+1,0,
(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
SetDlgItemText(IDC_EDIT_SEND,(LPCTSTR)"");
}
chen78805673
2010-03-15
打赏
举报
回复
路过!
wjy555
2010-03-15
打赏
举报
回复
路过。
fanghaobing
2010-03-15
打赏
举报
回复
问题可能就是出在字符集上,应该怎么转换字符环境,以保正确编译运行!
shulai765
2010-03-14
打赏
举报
回复
1.可能是接受数据的Buf长度太短吧? 发送数据的时候字符长度要多发送一位,
用来确保字符串以\0结尾.
2.当发送按钮执行完成后,在最后一行调用 SetDlgItemText(IDC_EDIT_SEND,"");
即可实现发送编辑框内容清空.
灬光影相生灬
2010-03-14
打赏
举报
回复
关键代码贴上来 大家才能想办法
皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程
这个
问题
涉及到两个方面: 是否容易整合到现有应用
程序
中? 是否容易在新的应用
程序
项目中应用? 易用性: 界面控件类产品对应用
程序
的影响应该越小越好,要易于在现有应用
程序
中整合。这要求API简洁,同时...
c++/
MFC
CSocket仿QQ
聊天
软件,实现1对1
聊天
,群聊
前几天,看到了
一个
博文,是有关,
mfc
网络编程的。可对方,的实例只能是多对多,出于兴趣,自己改写了下它的
程序
,实现了点对点的
聊天
。所以,本实例并非纯原创的。这个还请大家见谅,尤其是作者。我在他
程序
基础上...
VS2012创建
MFC
项目、第
一个
VS2012版
MFC
程序
及
MFC
程序
发布(release)
今天跟
一个
学建筑的同学
聊天
时,得知最近他实习时
遇到
一件烦心事,他们工地上要建
一个
圆形的很大的建筑物,需要用钢筋将建筑物铺满,钢筋之间距离为15cm,问求所有钢筋的长度!这应该是一道很简单的数学题。利用勾股...
点对点
聊天
和多对点
聊天
程序
的详尽阐述
项目场景: 简述项目相关背景: 项目场景:通过在VS或VC++的环境下,实现ch5点对点
聊天
和ch5多对点
聊天
功能。...( 一 ) 代码打不开是很多新手锁
遇到
的
问题
,如果只是
一个
单独的 .cpp 或 .h 文件还比较好处理,带面对
一个
MFC
控件使用大全
MFC
控件使用大全
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章