📄 主函数.cpp
字号:
#include "stdafx.h"
#include "stdio.h"
extern "C" __declspec(dllexport) void chuansong(HANDLE hPipeHandle1);
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//CWinApp theApp;
//using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
int err;
BOOL rc;
HANDLE hPipeHandle1;
char lpName[]="\\\\.\\pipe\\myPipe";
char InBuffer[50]="";
char OutBuffer[50]="";
hPipeHandle1=CreateNamedPipe(
(LPCTSTR)lpName,
PIPE_ACCESS_DUPLEX,
PIPE_TYPE_MESSAGE,
5,50,50, NMPWAIT_USE_DEFAULT_WAIT,
(LPSECURITY_ATTRIBUTES)NULL
);
if ((hPipeHandle1==INVALID_HANDLE_VALUE) || (hPipeHandle1==NULL))//管道创建失败
{ err=GetLastError();
printf("Server Pipe Create Fail! err=%d\n",err);
exit(1);
}
else printf("Server Pipe Create Success! \n");
while (1)
{
rc=ConnectNamedPipe(hPipeHandle1,(LPOVERLAPPED)NULL);
if (rc==0)
{
err=GetLastError();
printf("Server Pipe Connect Fail err=%d\n",err);
exit(2);
}
else printf("Server Pipe Connect Success\n");
strcpy(InBuffer,"");//清空
strcpy(OutBuffer,"");
printf("handlein main :%d\n",hPipeHandle1);
chuansong((HANDLE)hPipeHandle1);
//printf("客户方发送的消息为:%s\n",InBuffer);
//printf("客户方发送的消息为:%s\n",OutBuffer);
/*int BytesRead,BytesWrite;
BytesRead=sizeof(InBuffer);
BytesWrite=sizeof(OutBuffer);
rc=ReadFile(hPipeHandle1,InBuffer,sizeof(InBuffer),&BytesRead,(LPOVERLAPPED)NULL);//从管道中读取数据
if (rc==0 && BytesRead==0 )
{ err=GetLastError();
printf("Server Read Pipe Fail!err=%d\n",err);
exit(3);
}
else
{
printf("Server Read Pipe Success!\n");
printf("客户方发送的消息为:%s\n",InBuffer);
}
rc=strcmp(InBuffer,"end");
if (rc==0) break;
strcpy(OutBuffer,"信息已收到!");
rc=WriteFile(hPipeHandle1,OutBuffer,sizeof(OutBuffer),&BytesWrite,(LPOVERLAPPED)NULL);
if (rc==0) printf("Server Write Pipe Fail!\n");
else printf("Server Write Pipe Success!\n");
DisconnectNamedPipe(hPipeHandle1);
rc=strcmp(OutBuffer,"end");
if (rc==0) break;
*/
}
printf("Now Server be END!\n");
CloseHandle(hPipeHandle1);
return nRetCode;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -