命名管道的问题

familyxj 2010-09-02 08:37:09
如何使用命名管道实现跨网络通信,大家给点意见。
...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youdaping777 2010-09-02
  • 打赏
  • 举报
回复
用双工命名管道!
djjlove_2008 2010-09-02
  • 打赏
  • 举报
回复
void CNamedPipeCltView::OnPipeConnect() 
{
// TODO: Add your command handler code here
if(!WaitNamedPipe("\\\\.\\pipe\\MyPipe", NMPWAIT_WAIT_FOREVER))
{
MessageBox("没有可利用的命名管道实例!");
return;
}
hPipe = CreateFile("\\\\.\\pipe\\MyPipe", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hPipe)
{
MessageBox("打开命名管道失败!");
hPipe = NULL;
return;
}
}

void CNamedPipeCltView::OnPipeRead()
{
// TODO: Add your command handler code here
char buf[100];
DWORD dwRead;
if(!ReadFile(hPipe, buf, 100, &dwRead, NULL))
{
MessageBox("读取数据失败!");
return;
}
MessageBox(buf);
}

void CNamedPipeCltView::OnPipeWrite()
{
// TODO: Add your command handler code here
char buf[] = "i love you!";
DWORD dwWrite;
if(!WriteFile(hPipe, buf, strlen(buf) + 1, &dwWrite, NULL))
{
MessageBox("写入数据失败!");
return;
}
}


这是孙鑫老师关于服务器端的代码,希望能帮到你。
samson_fan 2010-09-02
  • 打赏
  • 举报
回复
网络通信为何不直接用TCP呢?编写方式上与命名管道基本一致

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧