当前位置:文档之家› TCP服务器代码

TCP服务器代码

在Server classes 上点右键——>New Clsass——>CListenSocket——>OK;

再建立一个CRWSocket

CServerDlg加入头文件#include "ListenSocket.h"
在public中加入变量声明CListenSocket m_listen;
在CListenSocket中加入头文件RWSocket.h

再双击OnInitDialog[],进入相应编辑页,找到
添加
m_listen.Create(8888);
m_listen.Listen();

分别进入我们刚才所建的两个新类CListenSocket和CRWSocket中,
建立子类OnAccept(int nErrorCode)
和OnReceive(int nErrorCode)。


双击OnAccept(int nErrorCode)进入相关编辑页面,找到// TODO: Add your specialized code here and/or call the base class在下面加入如下代码:
CRWSocket *dataSocket;
dataSocket=new CRWSocket;
Accept(*dataSocket);

同样的在OnReceive(int nErrorCode)里,加入如下代码:
char str[8];
Receive(str,8);
AfxMessageBox(str);

在RWSocket.h添加定义:

#define CLT_REVTEXT WM_USER+1

在CRWSocket::OnReceive(int nErrorCode) 中添加

SendMessage(::AfxGetApp()->m_pMainWnd->m_hWnd,CLT_REVTEXT,0,(long)str);
//用lParam传数

在 server1Dlg.h中添加

#include "RWSocket.h"

在public声明中添加:
LRESULT OnRecvText(WPARAM wParam,LPARAM lParam); //

在testSocketDlg.cpp中添加

ON_MESSAGE(CLT_REVTEXT,OnRecvText)

LRESULT CserverDlg::OnRecvText(WPARAM wParam,LPARAM lParam)
{
LPSTR szBuffer = new char[18];
wsprintf(szBuffer,"%s",lParam);
AfxMessageBox(szBuffer);
m_Display1 += (CString)szBuffer;
m_Display1 += "\r\n";
UpdateData(FALSE);
return 1;
}

相关主题
文本预览
相关文档 最新文档