📄 d079.bmp.txt
字号:
3)添加对话框的初始化函数。本例在对话框类的OnInitDialog()函数中进行Socket的启
动操作,代码如下:
WSADATA wsaData;
WORD version= MAKEWORD(2, 0);//Winsock规范版本在2.0以上
int ret= WSAStartup(version, &wsaData);
if(retf-0)
TRACE("Initilize Error!\n"); //初始化失败
该操作也可以在该例中的应用程序启动函数CChatRoomApp::lnitlnstance()或对话框的构
造函数等函数里进行,以保证在进行Socket操作前能初始化,启动对应版本的dll文件。
4)添加界面消息处理函数。为界面上的按钮“发送”、“连接”、“退出”以及两个选项
“服务器”和“客户机”编写处理函数。详细代码如下。
void CChatRoomDlg::OnSend0
{
/,发送命令, 然后根据m_ bClient变量处理客户机或者服务器
if(!m_- blnit)
{
AfxMessageBox("The session has not been set correcdy");
return;
}
CString in;
GetDlgltem(IDC_EDIT_INPUTDATA)->GetWindowText(in);
鹏俞入框中只有<Enter>键被按下,所以不发送<Enter>键字符
if(in.GetLength0<1)
{
retum,
)
if(in.GetAt(in.GetLength0-1)==’、I1’)
{
in.TrimRight("’);
//将输入框中的字符清空,表示字符已经被发送
GetDlgItem(IDC_EDIT_INPUTDATA)->S etWindowText(…’);
if(in.GetLength(》2)
{
//将输入的话显示到显示窗口中
m_ctrShowTextList.AddS tring(in);
//服务器端
if(!m__ bClient)
{
int length=m_connectionList.GetCount();
SOCKET socket;
for(int i=O;klength;i++)
{
socket=m_connectionList.GetAt(m_connectionList.Findlndex(i》;
79
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -