18,356
社区成员
发帖
与我相关
我的任务
分享
void CMyServerDlg::OnClose()
{
m_ListWords.AddString("断开连接");
m_ServerSocket->Close();
m_ListenSocket->Close();
if(m_ServerSocket != NULL)
{
delete m_ListenSocket;
delete m_ServerSocket;
m_ServerSocket =NULL;
}
KillTimer(1);
void CMyServerDlg::OnAccept()
{
m_ServerSocket=new MySocket;
m_ServerSocket->GetDlg(this);
m_ListenSocket->Accept(*m_ServerSocket);
m_ServerSocket->AsyncSelect(FD_READ|FD_CLOSE);
SetTimer(1,800,NULL);
}
void CMyServerDlg::SentScreen() //发送图片的部分代码,buffer是图片缓存,size是图片大小。大概40+k大吧。
{
mesize=size;
m_ServerSocket->Send(&mesize,sizeof(int));
m_ServerSocket->Send(buffer,size,0);
free(buffer);
buffer=NULL;
}
void CMyServerDlg::GetScreen()
{
CDC ScrDc,MemDc;
ScrWidth = GetSystemMetrics(SM_CXSCREEN);
ScrHeight = GetSystemMetrics(SM_CYSCREEN);
ScrDc.CreateDCA("Display",NULL,NULL,NULL);
MemDc.CreateCompatibleDC(&ScrDc);
ScrBmp.Detach();
ScrBmp.CreateCompatibleBitmap(&ScrDc,ScrWidth,ScrHeight);
CBitmap * YetBmp = MemDc.SelectObject(&ScrBmp);
MemDc.BitBlt(0,0,ScrWidth,ScrHeight,&ScrDc,0,0,SRCCOPY);
MemDc.SelectObject(YetBmp);
CClientDC dc(this);
CxImage Image;
Image.CreateFromHBITMAP((HBITMAP)ScrBmp.GetSafeHandle());
size=0;
buffer=NULL;
Image.SetJpegQuality(12);
Image.Encode(buffer,size,CXIMAGE_FORMAT_JPG); //之前一直运行得好好的。但是一段时间后size就一直是0了。。。
ScrDc.DeleteDC();
MemDc.DeleteDC();
Image.Destroy();
}
void CMyServerDlg::SentScreen() //发送图片的部分代码,buffer是图片缓存,size是图片大小。大概40+k大吧。
{
mesize=size;
m_ServerSocket->Send(&mesize,sizeof(int));
while(size>0)
size -= m_ServerSocket->Send(buffer,size,0);
free(buffer);
buffer=NULL;
}