亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? publicnetsoftdlg.cpp

?? 圖書館管理系統(tǒng),各部分功能均實(shí)現(xiàn)了...希望大家能使用
?? CPP
字號(hào):
// PublicNetSoftDlg.cpp : implementation file
//

#include "stdafx.h"
#include "PublicNetSoft.h"
#include "PublicNetSoftDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	public:
	virtual BOOL DestroyWindow();
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPublicNetSoftDlg dialog

CPublicNetSoftDlg::CPublicNetSoftDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPublicNetSoftDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CPublicNetSoftDlg)
	str = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

	IsTrue = FALSE;
	Client = INVALID_SOCKET;
}

void CPublicNetSoftDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPublicNetSoftDlg)
	DDX_Control(pDX, IDC_LIST, list);
	DDX_Text(pDX, IDC_EDIT, str);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CPublicNetSoftDlg, CDialog)
	//{{AFX_MSG_MAP(CPublicNetSoftDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_SEND, OnSend)
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_CLIENT_ACCEPT,OnAccept)
	ON_MESSAGE(WM_CLIENT_READCLOSE,OnReadClose)

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPublicNetSoftDlg message handlers

BOOL CPublicNetSoftDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CPublicNetSoftDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CPublicNetSoftDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CPublicNetSoftDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

BOOL CAboutDlg::DestroyWindow() 
{
	return CDialog::DestroyWindow();
}

/*
	//}}AFX_VIRTUAL

	LRESULT OnAccept(WPARAM wParam, LPARAM lParam);
	LRESULT OnReadClose(WPARAM wParam,LPARAM lParam);

// Implementation

typedef struct ZyMsg
{
	char msg[100];
	int i;
}Msg;

public:

	SOCKET Client;        //客戶的連接請(qǐng)求
	SOCKET ServerSocket;                 //SOCKET 
	SOCKADDR_IN m_sockServerAddr;          //SOCKET 結(jié)構(gòu)

	BOOL IsTrue;

	Msg msg;

	ON_MESSAGE(WM_CLIENT_ACCEPT,OnAccept)
	ON_MESSAGE(WM_CLIENT_READCLOSE,OnReadClose)
*/



void CPublicNetSoftDlg::OnOK() 
{//初始化與綁定服務(wù)器
    WSADATA wsaData;
    int iErrorCode;
    if (WSAStartup(MAKEWORD(2,1),&wsaData)) //調(diào)用Windows Sockets DLL
	{ 
         list.InsertString(0,"Winsock無(wú)法初始化!");
         WSACleanup();
         return;
	}

	list.InsertString(0,"服務(wù)器開始創(chuàng)建SOCKET。");

	ServerSocket=socket(PF_INET,SOCK_STREAM,0);    //創(chuàng)建服務(wù)器端Socket,類型為SOCK_STREAM,面向連接的通信

    if(ServerSocket == INVALID_SOCKET)
	{
         list.InsertString(0,"無(wú)法創(chuàng)建服務(wù)器socket!");
         return;
	}

    m_sockServerAddr.sin_family = AF_INET;
    m_sockServerAddr.sin_addr.s_addr = INADDR_ANY;   //向所有的IP地址發(fā)送消息
    m_sockServerAddr.sin_port = htons(8001);

    if (bind(ServerSocket,(LPSOCKADDR)&m_sockServerAddr,sizeof(m_sockServerAddr)) == SOCKET_ERROR) //與選定的端口綁定
    {
	    list.InsertString(0,"無(wú)法綁定服務(wù)器。");
        return;
	}

    list.InsertString(0,"服務(wù)器端口:8001.");

    iErrorCode=WSAAsyncSelect(ServerSocket,m_hWnd,WM_CLIENT_ACCEPT,FD_ACCEPT);
         // 產(chǎn)生相應(yīng)傳遞給窗口的消息為WM_SERVER_ACCEPT ,這是自定義消息

    if (iErrorCode == SOCKET_ERROR) 
	{
         list.InsertString(0,"WSAAsyncSelect設(shè)定失敗!——用于連接請(qǐng)求的消息");
         return;
	}

    if (listen(ServerSocket,1) == SOCKET_ERROR) //開始監(jiān)聽客戶連接請(qǐng)求
	{
		list.InsertString(0,"服務(wù)器監(jiān)聽失敗!");
        return;
	}

	IsTrue = TRUE;

 	list.AddString("服務(wù)器綁定監(jiān)聽成功。");
    return; 
}

void CPublicNetSoftDlg::OnSend() 
{//發(fā)送數(shù)據(jù)
	if(!IsTrue)
		list.InsertString(0,"還沒有工作站連接,或服務(wù)器沒有初始化成功。");
	UpdateData();
	strcpy((char *)msg.msg,(LPCTSTR)str);
	msg.i = 0;
	if(send(Client,(char *)&msg,sizeof(msg),0) == SOCKET_ERROR)//	recv(ServerSocket,buf,sizeof(buf),0);
	{
		list.InsertString(0,"發(fā)送數(shù)據(jù)錯(cuò)誤。");
		return;
	}
	else
		list.InsertString(0,"服務(wù)器發(fā)送:"+str);
	str.Empty();
	UpdateData(FALSE);
	((CEdit *)GetDlgItem(IDC_EDIT))->SetActiveWindow();
}

LRESULT CPublicNetSoftDlg::OnAccept(WPARAM wParam,LPARAM lParam)
{//自定義接收客戶機(jī)請(qǐng)求的消息   ON_MESSAGE(WM_CLIENT_ACCEPT,OnAccept)
	if (WSAGETSELECTERROR(lParam))
	{
		list.InsertString(0,"Error detected on entry into OnServerAccept.");
		return 0L;
	}
	
	if(WSAGETSELECTEVENT(lParam) == FD_ACCEPT)//如果
	{
	    Client = accept(ServerSocket,(LPSOCKADDR)&m_sockServerAddr,0);

	    if (Client == INVALID_SOCKET)
		{
			list.InsertString(0,"Server socket failed to accept connection.");
			return 0L;
		}
		
		WSAAsyncSelect(Client,m_hWnd,WM_CLIENT_READCLOSE,FD_READ|FD_CLOSE);

		IsTrue = TRUE;
	}
	
	list.InsertString(0,"有工作站連接上了服務(wù)器。");
	
	return 0L;
}


LRESULT CPublicNetSoftDlg::OnReadClose(WPARAM wParam,LPARAM lParam)
{//自定義的關(guān)閉與緩沖區(qū)有消息
	if(!IsTrue)
	{
		list.InsertString(0,"有數(shù)據(jù)到達(dá),但是沒有工作站連接。");
	}

	CString str;
	switch (WSAGETSELECTEVENT(lParam))
	{
	case FD_READ:
		if(recv(Client,(char *)&msg,sizeof(msg),0) == SOCKET_ERROR)
		{
			list.InsertString(0,"接收數(shù)據(jù)發(fā)生錯(cuò)誤。");
			return 0;
		}
		str.Format("%s",msg.msg);
		list.InsertString(0,"服務(wù)器接收:"+str);
		break;
	case FD_CLOSE:
		str = _T("工作站退出。");
		list.InsertString(0,str);
		closesocket(Client);
		IsTrue = FALSE;
		break;
	}
	return 0L;
}

BOOL CPublicNetSoftDlg::DestroyWindow() 
{//當(dāng)程序退出時(shí),把SOCKET清空
	WSACleanup();
	
	return CDialog::DestroyWindow();
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线一区免费| 欧美日韩dvd在线观看| 日本伦理一区二区| 欧美精品第一页| 久久久久99精品一区| 亚洲男女一区二区三区| 日韩电影在线观看网站| 国产sm精品调教视频网站| 91麻豆免费观看| 日韩欧美一区二区视频| 国产精品嫩草99a| 亚洲高清一区二区三区| 国产成人av网站| 欧美人牲a欧美精品| 欧美激情一区二区三区不卡 | 国产精品88av| 日本高清无吗v一区| 欧美大片日本大片免费观看| 亚洲国产精品激情在线观看| 香蕉av福利精品导航| 国产成人在线视频播放| 欧美日本在线播放| 国产精品久久午夜夜伦鲁鲁| 青青草国产精品97视觉盛宴| 成人福利视频在线| 欧美一区二区视频在线观看2022| 国产精品久久一卡二卡| 免费在线观看不卡| 91浏览器打开| 国产欧美日韩另类视频免费观看| 三级精品在线观看| 91社区在线播放| 久久女同性恋中文字幕| 五月婷婷综合在线| 99视频有精品| 久久久精品国产99久久精品芒果| 偷偷要91色婷婷| 91视频免费播放| 国产女主播一区| 美女网站在线免费欧美精品| 色婷婷av一区| 国产精品区一区二区三| 精油按摩中文字幕久久| 欧美美女激情18p| 亚洲精品videosex极品| 国产大片一区二区| 精品国精品国产| 日韩激情中文字幕| 欧美中文字幕一二三区视频| 一区在线播放视频| 国产乱人伦精品一区二区在线观看| 91精品综合久久久久久| 亚洲综合另类小说| 成人av影视在线观看| 国产亚洲一本大道中文在线| 日本aⅴ免费视频一区二区三区| 欧美吞精做爰啪啪高潮| 一区二区三区在线观看国产| av一区二区久久| 国产精品丝袜一区| 成人一区二区三区视频在线观看| 久久精品视频免费| 国产一区二区主播在线| 337p粉嫩大胆色噜噜噜噜亚洲| 久久精品国产免费看久久精品| 欧美一区二区三区色| 视频在线观看国产精品| 777午夜精品免费视频| 日韩电影一二三区| 日韩一区二区在线播放| 另类人妖一区二区av| 26uuu色噜噜精品一区| 韩国精品主播一区二区在线观看| 日韩欧美一区在线| 美洲天堂一区二卡三卡四卡视频| 欧美欧美欧美欧美首页| 亚洲男女一区二区三区| 成人美女在线观看| 中文子幕无线码一区tr| 国产成人无遮挡在线视频| 欧美成人video| 秋霞成人午夜伦在线观看| 欧美三级日本三级少妇99| 亚洲一区二区在线播放相泽| 成人福利视频在线| 一区二区三区小说| 91国产福利在线| 伊人婷婷欧美激情| 欧美三片在线视频观看 | 色综合一个色综合亚洲| 日韩伦理免费电影| 91亚洲精品一区二区乱码| 亚洲欧美综合另类在线卡通| 本田岬高潮一区二区三区| 亚洲欧美一区二区三区极速播放 | 成人app网站| 一区二区三区四区在线播放| 色88888久久久久久影院按摩| 亚洲综合久久av| 欧美老人xxxx18| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久综合一区二区| 久草在线在线精品观看| 欧美精品一区二区三| 国产成人自拍高清视频在线免费播放| 久久久三级国产网站| 成人深夜视频在线观看| 综合久久综合久久| 欧美视频一区二区三区| 日本欧美一区二区| 欧美v国产在线一区二区三区| 极品少妇一区二区三区精品视频 | 亚洲精品欧美激情| 欧美日韩午夜在线视频| 天天综合色天天| 精品国产一区二区三区久久影院| 播五月开心婷婷综合| 亚洲一卡二卡三卡四卡五卡| 欧美剧在线免费观看网站| 美脚の诱脚舐め脚责91 | 蜜桃视频在线一区| 久久精品人人做人人爽97| 99久久99久久久精品齐齐| 亚洲电影激情视频网站| 精品国产麻豆免费人成网站| 成人性生交大合| 亚洲色欲色欲www| 精品国产三级电影在线观看| kk眼镜猥琐国模调教系列一区二区| 玉足女爽爽91| 日韩免费视频一区二区| 成人精品视频一区二区三区尤物| 亚洲午夜在线电影| 亚洲精品一线二线三线| 国产盗摄女厕一区二区三区| 亚洲自拍偷拍九九九| 26uuu国产在线精品一区二区| 色综合网色综合| 精品一区二区精品| 国产精品入口麻豆九色| 日韩欧美一区电影| 91一区二区在线观看| 蜜桃久久av一区| 亚洲欧美乱综合| 久久综合丝袜日本网| 色综合天天性综合| 午夜精品免费在线| 欧美激情一二三区| 欧美一区二区三区免费在线看 | 欧美一区午夜精品| 白白色亚洲国产精品| 免费视频一区二区| 亚洲欧美视频在线观看| 国产欧美一区二区三区在线看蜜臀| 欧美三级韩国三级日本一级| 国产精品91xxx| 青草国产精品久久久久久| 亚洲图片激情小说| 91精品国产综合久久婷婷香蕉| 91黄视频在线| 成人夜色视频网站在线观看| 蜜桃久久久久久| 亚洲综合999| 日韩理论在线观看| 精品国偷自产国产一区| 日韩一区二区三区电影| 色狠狠色噜噜噜综合网| 国产不卡在线视频| 久久av资源站| 日韩精品五月天| 日韩伦理av电影| 亚洲欧美日韩在线播放| 国产视频一区在线观看| 日韩欧美激情一区| 欧美疯狂性受xxxxx喷水图片| 欧美日韩免费观看一区二区三区| 成人av网址在线| 国产乱码精品一区二区三区忘忧草| 丝瓜av网站精品一区二区 | 丁香一区二区三区| 国产不卡在线视频| 国产经典欧美精品| 国产在线精品不卡| 奇米精品一区二区三区在线观看| 亚洲福利视频三区| 国产精品乱人伦一区二区| 最新不卡av在线| 国产精品入口麻豆原神| 国产欧美日韩亚州综合 | 亚洲国产一区在线观看| 亚洲曰韩产成在线| 亚洲丝袜美腿综合| 国产精品成人一区二区艾草 | 亚洲国产日韩综合久久精品| ...xxx性欧美| 亚洲欧洲美洲综合色网| 国产欧美精品一区aⅴ影院| 国产精品国产三级国产aⅴ入口| 欧美极品xxx| 自拍偷自拍亚洲精品播放|