网络聊天室(11)

发布时间:2021-06-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文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219