-
基于socket编写服务器端和客户端,实现网络通信。程序采用MFC对话框框架,在VC++6.0平台上实现。
-
程序采用面向对象的方法设计,服务器端由CServerDlg构建,客户端由CClientDlg类构建。
新建一个工程,注意的是要添加Sockes服务函数。
由此生成的代码对sever服务进行初始化,在StdAfx文件夹中自动生成头文件。
1. 操作台搭建
接收和输入文本框写成
IDC_REC
IDC_INPUT
2. 建立服务器派生类
右击选择new class,建立一个服务器的派生类CSocetkL,继承至CSocket。
创建服务器:
#include "SocketL.h"
class CSeverDlg : public CDialog
{
// Construction
public:
CSocketL m_SockL; //创建服务器
。。。。。。。。。。。。。。
在初始化函数中OnInitDialog()判断网络是否创建成功,并监听:
/*********************判断网络端口是否成功*********************/
if(!m_SockL.Create(6000))
{
int nError = GetLastError();
AfxMessageBox("创建网络失败");
}
/*****************************监听*****************************/
m_SockL.Listen();
如果创建成功,在服务器中添加成员函数OnAccept()
在这个虚函数监听中,我们监听服务器是否打开。上报提示写入:
void CSocketL::OnAccept(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
AfxMessageBox("Already have a client connent!");
CSocket::OnAccept(nErrorCode);
}