手机版

网络聊天室(11)

时间:2025-07-06   来源:未知    
字号:

这是一个利用Visual C++ 6.0和MFC相结合做成的简单的网络聊天室系统。

图3.3 连接错误提示

图3.4 端口或IP错误提示

第四,创建套接字clconect,设置成功创建后相关控件为只读(避免误操作),代码:clconect.setp(this);

CWnd *cw=GetDlgItem(IDC_EDIT1); cw->EnableWindow(false); cw=GetDlgItem(IDC_EDIT2); 第五,设置建立连接后相应提示。

(5)然后就是对话框中的发送(回车)按钮的函数,功能实现代码如下: void CTcpclientDlg::Onsend() { }

定义字符串str用于保存输入的消息,调整格式后使用CSocket的操作函数send将消息发送到服务器。

(6)要显示客户端接收到来自服务器其他用户的信息,功能实现代码如下:

CString str;

GetDlgItemText(IDC_EDIT4,str); str=clientname+":"+str; int len=str.GetLength();

if(clconect.Send(str,len)>1)SetDlgItemText(IDC_EDIT4,"");

这是一个利用Visual C++ 6.0和MFC相结合做成的简单的网络聊天室系统。

void CTcpclientDlg::onrev() { }

代码分析:

①创建字符串str、str1,字符数组ss。

②接受来自服务器套接字的信息数据保存到ss中,调整格式后将其打印到消息区。 (7)当服务器断开连接时,就会弹出此消息框,如下图3.5所示:

CString str,str1; char ss[256];

for(int j=0;j<256;j++) ss[j]='\0'; clconect.Receive(ss,256); if(ss!="")

str.Format("%s",ss);

GetDlgItemText(IDC_EDIT3,str1); str=str1+"\r\n"+str;

SetDlgItemText(IDC_EDIT3,str);

CEdit *ce=((CEdit*)GetDlgItem(IDC_EDIT3));

ce->LineScroll(ce->GetLineCount()-1);;

图3.5 失去连接提示

在CTcpclientDlg类中添加消息函数oncl(),调用MessageBox函数,输出出错提示信息“失去连接或者找不到服务器”,这时函数执行用户的命令,因为无任何参数,所以函数返回参数值为NULL,然后关闭此对话框。

当失去与服务器的连接后,重新将连接服务器设置编辑框启用等待下次连接。 (8)在退出程序时的提示,如下图3.6所示:

网络聊天室(11).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)