用Mailslot写的客户端和服务器,客户端能向服务器多次发送消息,而服务器可以显示客户端发来的消息
来源:互联网 发布:单片机语音芯片 编辑:程序博客网 时间:2024/04/28 17:18
服务器程序:
#include<Windows.h>
#include<stdio.h>
int main()
{
HANDLE mail;
mail = ::CreateMailslot(L"\\\\.\\mailslot\\my", 0, MAILSLOT_WAIT_FOREVER, 0);
if (mail == INVALID_HANDLE_VALUE)
{
printf("Create mailslot failed!!\n");
return 0;
}
else
{
printf("Created successfully!!\n");
char text[200];
DWORD readtext;
while (1)
{
if (ReadFile(mail, text, 200, &readtext, nullptr))
{
printf("客服端对你说:%s",text);
printf("\n");
}
}
}
::Sleep(10000);
::CloseHandle(mail);
return 0;
}
客户端程序:
#include<Windows.h>
#include<stdio.h>
#include<iostream>
int main()
{
HANDLE mail2;
char text[] = "Hello, server!!";
DWORD writetext;
/*
CreateFileW(
_In_ LPCWSTR lpFileName,
_In_ DWORD dwDesiredAccess,
_In_ DWORD dwShareMode,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_ DWORD dwCreationDisposition,
_In_ DWORD dwFlagsAndAttributes,
_In_opt_ HANDLE hTemplateFile
);
*/
mail2 = ::CreateFile(L"\\\\.\\mailslot\\my", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == mail2)
{
printf("Mailslot open failed\n");
}
else
{
while (1)
{
std::cout << "please input what you want to send to server : " << std::endl;
std::cin >> text;
if (WriteFile(mail2, text, sizeof(text), &writetext, NULL))
{
Sleep(1000);
printf("Write successfully!!\n");
}
else
{
printf("Write failed!!\n");
break;
}
}
}
::CloseHandle(mail2);
::Sleep(10000);
return 0;
}
- 用Mailslot写的客户端和服务器,客户端能向服务器多次发送消息,而服务器可以显示客户端发来的消息
- 通过服务器向指定客户端发送消息
- socket 服务器向指定的客户端发消息
- Java服务器利用JPush 向客户端发送消息
- WEB客户端发送给WEB服务器的HTTP请求消息
- Socket编程服务器不能打印客户端发送的消息
- 服务器向客户端发消息,Comet--pushlet
- Netty 服务器客户端,发送自定义消息
- Netty 服务器客户端,发送自定义消息
- WCF服务器向客户端播送消息和心跳检测
- 简单的服务器和客户端本机发消息
- 一个客户端向服务器发送数据,服务器向连接的客户端转发数据demo
- 用消息队列编写一个客户端服务器通信的程序
- ServerSocket和Socket建立通信(客户端发送消息服务器接收并返回到客户端接收输出)
- ServerSocket和Socket建立通信(客户端发送消息服务器接收并返回到客户端接收输出)
- 以Gzip的形式通过服务器向客户端发送数据
- java实现客户端向服务器发送文件的操作
- 关于客户端向服务器发送请求的加密问题
- 上海xx 双向链表 面试题 list node
- 第三章 3.5.4节练习
- C++ 学习笔记_0013_函数(猜数字、小学生算术运算)
- Centos提示-bash: make: command not found的解决办法
- LeetCode:Reverse Words in a String
- 用Mailslot写的客户端和服务器,客户端能向服务器多次发送消息,而服务器可以显示客户端发来的消息
- 数据库连接池
- Linux 常用命令
- LeetCode:Minimum Depth of Binary Tree
- 下一个排列问题 C++代码
- 用CSS画三角形
- [DS][3-21]Implement two stacking using only one array
- java排序
- Cocos2d-x 3.2编译生成Android程序出错的解决方案