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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? socketserver.cpp

?? 具有異形窗口的網絡電話的程序
?? CPP
字號:
// SocketServer.cpp : implementation file
#include "stdafx.h"
#include "NetPhone.h"
#include "SocketServer.h"
#include "NetPhoneDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define WM_NC  1001

extern CSocketServer Socket_Server;
extern CSocketServer Socket_Listen;
extern CNetPhoneDlg  *pDlg;
extern BOOL bBtnConnectDown;
extern BOOL bServerState;
extern BOOL bClientState;
extern BOOL bDisconnectState;
extern BOOL bMiniState;
extern CString sRemoteIP;
extern  CString sAck;
extern	char cAck[15];

// CSocketServer
CSocketServer::CSocketServer()
{
}

CSocketServer::~CSocketServer()
{
	Close();
}

// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CSocketServer, CAsyncSocket)
	//{{AFX_MSG_MAP(CSocketServer)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif	// 0

// FD_ACCEPT網絡事件處理函數,收到連接請求時發生
void CSocketServer::OnAccept(int nErrorCode) 
{ 
	// Socket_Server套接字接受連接請求
	Accept(Socket_Server);
	// 錯誤信息處理
	if (0 != nErrorCode)
    {
     switch( nErrorCode)  //nErrorCode 為錯誤碼
     {
         case WSANOTINITIALISED: 
            AfxMessageBox("A successful AfxSocketInit must occur before using this API.\n");
            break;
         case WSAENETDOWN: 
            AfxMessageBox("The Windows Sockets implementation detected that the network subsystem failed.\n");
            break;
         case WSAEFAULT: 
            AfxMessageBox("The lpSockAddrLen argument is too small.\n");
            break;
         case WSAEINPROGRESS: 
            AfxMessageBox("A blocking Windows Sockets call is in progress.\n");
            break;
         case WSAEINVAL: 
            AfxMessageBox("Listen was not invoked prior to accept.\n");
            break;
         case WSAEMFILE: 
            AfxMessageBox("The queue is empty upon entry to accept and there are no descriptors available.\n");
            break;
         case WSAENOBUFS: 
            AfxMessageBox("No buffer space is available.\n");
            break;
         case WSAENOTSOCK: 
            AfxMessageBox("The descriptor is not a socket.\n");
            break;
         case WSAEOPNOTSUPP: 
            AfxMessageBox("The referenced socket is not a type that supports connection-oriented service.\n");
            break;
         case WSAEWOULDBLOCK: 
            AfxMessageBox("The socket is marked as nonblocking and no connections are present to be accepted. \n");
            break;
         default:
            TCHAR szError[256];
            wsprintf(szError, "OnAccept error: %d", nErrorCode);
            AfxMessageBox(szError,MB_ICONINFORMATION | MB_OK,NULL);
            break;
      }
	}  
	// 若是被呼叫端,“連接”按鈕未被按下,即bBtnConnectDown=FALSE
    // 收到連接請求時,播放鈴聲并顯示通知信息通知被呼叫端用戶
	if(bBtnConnectDown==FALSE)
	{
		UINT RemotePort=5000;
		// 得到呼叫端IP地址及端口
		Socket_Server.GetPeerName(sRemoteIP,RemotePort);
		// 播放鈴聲
		PlaySound("PhoneIn.wav",NULL,SND_SYNC);
		// 設置各個按鈕狀態
		pDlg->GetDlgItem(IDC_BUTTON_COMMUNICATE)->EnableWindow(TRUE) ;
		pDlg->GetDlgItem(IDC_BUTTON_DISCONNECT)->EnableWindow(TRUE) ;
		pDlg->SetDlgItemText(IDC_BUTTON_DISCONNECT,"拒 接");
		// 在對話框IDC_STATIC_INFORMATION控件中顯示通知信息
		::SetDlgItemText(pDlg->m_hWnd,IDC_STATIC_INFORMATION,sRemoteIP+"有電話呼叫您");
	}

	// 程序是否處于最小化狀態,是的話,最大化程序窗口,通知用戶有呼叫進入
	if(bMiniState==TRUE)
	{
		::SendMessage(pDlg->m_hWnd,WM_NC,0,WM_LBUTTONDBLCLK);
	}
	CAsyncSocket::OnAccept(nErrorCode);
}

// FD_READ網絡事件處理函數,有數據到達時發生
void CSocketServer::OnReceive(int nErrorCode) 
{
	// 錯誤信息處理
	if (0 != nErrorCode)
    {
      switch( nErrorCode)  //nErrorCode 為錯誤碼
      {
         case WSANOTINITIALISED: 
            AfxMessageBox("A successful AfxSocketInit must occur before using this API.\n");
            break;
         case WSAENETDOWN: 
            AfxMessageBox("The Windows Sockets implementation detected that the network subsystem failed.\n");
            break;
         case WSAENOTCONN: 
            AfxMessageBox("The socket is not connected.\n");
            break;
         case WSAEINPROGRESS: 
            AfxMessageBox("A blocking Windows Sockets operation is in progress.\n");
            break;
         case WSAENOTSOCK: 
            AfxMessageBox("The descriptor is not a socket.\n");
            break;
         case WSAEOPNOTSUPP: 
            AfxMessageBox("MSG_OOB was specified, but the socket is not of type SOCK_STREAM.\n");
            break;
         case WSAESHUTDOWN: 
            AfxMessageBox("The socket has been shut down. \n");
            break;
         case WSAEWOULDBLOCK: 
            AfxMessageBox("The socket is marked as nonblocking and the Receive operation would block.\n");
            break;
         case WSAEMSGSIZE: 
            AfxMessageBox("The datagram was too large to fit into the specified buffer and was truncated.\n");
            break;
         case WSAEINVAL: 
            AfxMessageBox("The socket has not been bound with Bind.\n");
            break;
		 case WSAECONNABORTED: 
            AfxMessageBox("The virtual circuit was aborted due to timeout or other failure.\n");
            break;
         case WSAECONNRESET: 
            AfxMessageBox("The virtual circuit was reset by the remote side. \n");
            break;
         default:
            TCHAR szError[256];
            wsprintf(szError, "OnReceive error: %d", nErrorCode);
            AfxMessageBox(szError);
            break;
	  }
	}
	// 若是呼叫端,則“連接”按鈕被按下,自動進入客戶端狀態,
	// 即bBtnConnectDown=TRUE且bClientState=TRUE
	// 接收到來自被呼叫端的應答信息,判斷是否電話被接聽
	if(bBtnConnectDown==TRUE&&bClientState==TRUE&&bServerState==FALSE)
    {    
		// 接收15個字節信息
		Receive(cAck,15);
		sAck.Format("%s",cAck);
		// 如果接收到被呼叫端發送的15個字節信息為“ABCDEFGHIJKLMNO”,表示電話被接聽
	    if(sAck=="ABCDEFGHIJKLMNO")
		{	
			bServerState=TRUE;
			::SetDlgItemText(pDlg->m_hWnd,IDC_STATIC_INFORMATION,"恭喜恭喜,電話被接聽");
		    ::SendMessage(pDlg->m_hWnd, WM_COMMAND, IDC_BUTTON_COMMUNICATE, 0);			
		}
		else
		{
		    ::SetDlgItemText(pDlg->m_hWnd,IDC_STATIC_INFORMATION,"不好意思,對方拒接電話");
		    bServerState=FALSE;
		}
	}
    // 如果用戶同時處于通話狀態(客戶端狀態+服務器端狀態),
	// 則調用對話框的OnReceive()函數播放接收到的音頻數據
	if(bClientState==TRUE&&bServerState==TRUE)
	{   
		if(bDisconnectState==FALSE)
		pDlg->OnReceive();
	}
	CAsyncSocket::OnReceive(nErrorCode);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1000精品久久久久久久久| 91官网在线免费观看| 香蕉成人伊视频在线观看| 国产精品二三区| 中文字幕在线一区免费| 中文字幕精品在线不卡| 久久久高清一区二区三区| 国产亚洲精品免费| 国产视频一区在线播放| 国产精品免费视频一区| 中文字幕五月欧美| 亚洲午夜视频在线| 日本午夜精品一区二区三区电影| 日本欧美一区二区| 经典三级一区二区| 成人av在线资源网站| 色欧美日韩亚洲| 欧美日韩高清一区二区不卡| 91精品国产91久久久久久一区二区| 欧美一级高清大全免费观看| 久久综合狠狠综合久久综合88| 国产欧美在线观看一区| 亚洲乱码日产精品bd| 亚洲国产欧美在线| 久久99国产精品免费网站| 国产精品99久| 在线国产电影不卡| 精品国产sm最大网站免费看| 中文字幕视频一区| 六月丁香婷婷色狠狠久久| 国产99久久久国产精品免费看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 精品国产第一区二区三区观看体验| 国产亚洲精品aa| 亚洲资源在线观看| 91亚洲精品久久久蜜桃| 欧美日韩亚洲另类| 日本一区二区久久| 强制捆绑调教一区二区| 成人av电影免费观看| 日韩欧美一区在线| 尤物在线观看一区| 狠狠色丁香九九婷婷综合五月| 色综合天天做天天爱| 精品久久久久一区| 亚洲国产综合色| heyzo一本久久综合| 日韩精品自拍偷拍| 亚洲成人自拍一区| 国产69精品久久777的优势| 欧美一级免费观看| 一区二区三区日韩在线观看| 国产精品88888| 日韩欧美一二区| 偷拍亚洲欧洲综合| 91免费版在线| 国产欧美一区二区在线| 狠狠色综合色综合网络| 欧美精品久久久久久久久老牛影院| 中文字幕在线免费不卡| 国产一区二区三区av电影| 日韩一区二区三免费高清| 一二三区精品福利视频| 99精品国产热久久91蜜凸| 国产精品美女一区二区| 国产99久久久精品| 国产亚洲欧美激情| 国产精品一区二区久久不卡| 欧美成人伊人久久综合网| 午夜精品在线看| 欧美日韩久久一区二区| 亚洲777理论| 91精品国产乱| 麻豆精品视频在线观看免费| 制服丝袜亚洲网站| 日韩中文字幕1| 国产欧美一区在线| 国产精品18久久久久久久久 | 国产91精品精华液一区二区三区| 欧美zozozo| 国产精品一二三四五| 久久久亚洲精华液精华液精华液| 国产一区二区三区黄视频 | 亚洲国产精品一区二区久久恐怖片| 色综合激情五月| 夜夜爽夜夜爽精品视频| 911国产精品| 激情都市一区二区| 国产精品欧美综合在线| 色94色欧美sute亚洲线路一久 | eeuss鲁片一区二区三区| 国产精品乱人伦中文| 成人高清免费在线播放| 亚洲精品一二三四区| 欧美精选午夜久久久乱码6080| 三级亚洲高清视频| 国产精品网站在线播放| 色欧美片视频在线观看| 石原莉奈一区二区三区在线观看 | 99久久久国产精品| 亚洲国产精品久久不卡毛片| 日韩精品在线一区| a级高清视频欧美日韩| 亚洲第一狼人社区| 2017欧美狠狠色| 色哟哟国产精品免费观看| 天天色综合成人网| 中文字幕精品一区二区精品绿巨人 | 国产亚洲自拍一区| 一本大道久久a久久精品综合| 天使萌一区二区三区免费观看| 日韩欧美亚洲国产精品字幕久久久| 成人永久免费视频| 亚洲成a人片在线观看中文| 久久女同性恋中文字幕| 日本久久电影网| 国产成人在线色| 日韩精品欧美精品| 国产精品久久久久aaaa樱花 | 成人a免费在线看| 日本三级亚洲精品| 国产精品久久毛片a| 欧美一区二区在线视频| 一本到三区不卡视频| 国产精品资源网站| 日韩av一区二区在线影视| 亚洲色图在线视频| 2021国产精品久久精品| 欧美人动与zoxxxx乱| 91在线观看免费视频| 国产一区二区三区四区五区入口 | 久久亚洲一区二区三区明星换脸| 日本久久一区二区三区| 成人看片黄a免费看在线| 免费观看在线综合| 亚洲成在人线免费| 一区二区三区四区在线| 国产精品护士白丝一区av| 久久精品夜夜夜夜久久| 欧美成人高清电影在线| 欧美一区二区精品久久911| 欧美少妇一区二区| 91免费观看在线| 色综合天天综合网天天看片| 国产成a人无v码亚洲福利| 国产成人免费视频精品含羞草妖精| 天天综合色天天| 亚洲午夜视频在线| 亚洲成人av一区二区三区| 亚洲制服欧美中文字幕中文字幕| 国产精品国产馆在线真实露脸| 国产日产亚洲精品系列| 久久久精品tv| 国产精品乱人伦| 综合电影一区二区三区| 亚洲天堂免费在线观看视频| 亚洲色图欧美偷拍| 一区二区三区免费观看| 亚洲午夜日本在线观看| 亚洲资源在线观看| 轻轻草成人在线| 狠狠色丁香九九婷婷综合五月| 精品午夜一区二区三区在线观看| 免费观看在线综合色| 国产一区二区视频在线播放| 国产成人一区在线| 色综合激情久久| 欧美二区在线观看| 欧美成人一级视频| 国产精品毛片大码女人| 亚洲主播在线观看| 毛片基地黄久久久久久天堂| 国产一区二区三区| 92精品国产成人观看免费 | 欧美一区日韩一区| 久久奇米777| 亚洲久草在线视频| 日本大胆欧美人术艺术动态| 国产综合色精品一区二区三区| 国产福利一区二区三区在线视频| av动漫一区二区| 51久久夜色精品国产麻豆| 久久亚洲综合色一区二区三区| 国产精品久久久久久久蜜臀 | 国产精品久久久久aaaa樱花| 亚洲国产成人va在线观看天堂| 麻豆精品国产91久久久久久| 韩国毛片一区二区三区| 99精品欧美一区二区蜜桃免费| 欧美日韩精品一区二区三区| 国产精品灌醉下药二区| 午夜日韩在线电影| 国产成人在线免费| 91麻豆精品国产无毒不卡在线观看 | 成人免费看视频| 欧美日韩国产一区二区三区地区| 2021中文字幕一区亚洲| 一区二区三区四区激情| 国产精品亚洲视频| 欧美一区二区三区在线|