计算机网络实验报告(聊天程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机通信与网络上机报告
实验一聊天程序
【实验目的】
(1)熟悉Microsoft Visual Studio 6.0的基本操作
(2)了解通信程序的设计方法
【实验要求】
(1)学习流式套接字对象的使用
(2)实现点对点通讯
【实验原理】
采用客户/服务模式,分为服务器端程序和客户端程序。由于服务端只能支持一个客户,实际上是一个点对点的通信程序,客户端可用过服务器端的IP地址发送连接请求,然后进行通信。
【实验步骤】
第一步:建立连接
第二步:用户向服务端发送消息
主要程序:
// Client.cpp : implementation file
// CClient
CClient::CClient()
{
}
CClient::~CClient()
{
}
#if 0
BEGIN_MESSAGE_MAP(CClient, CSocket)
END_MESSAGE_MAP()
#endif // 0
/////////////////////////////////////////////////////////////////////////////
// CClient member functions
void CClient::OnReceive(int nErrorCode)
{
((CLx1Dlg*)(AfxGetApp()->m_pMainWnd))->ShowMsg();
CSocket::OnReceive(nErrorCode);
}
// lx2.cpp : Defines the class behaviors for the application.(server.cpp)// CLx2App
BEGIN_MESSAGE_MAP(CLx2App, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()
// CLx2App construction
CLx2App::CLx2App()
{
}
// The one and only CLx2App object
CLx2App theApp;
// CLx2App initialization
BOOL CLx2App::InitInstance()
{
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls(); // Call this when using MFC in a shared DLL #else
Enable3dControlsStatic(); // Call this when linking to MFC statically
#endif
CLx2Dlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
}
else if (nResponse == IDCANCEL)
{
}
return FALSE;
}