c - 如何在 C 中的彩色套接字上发送消息?
问题描述
在utils.h
我有这些颜色代码:
#define RED "\x1B[31m"
#define GRN "\x1B[32m"
#define YEL "\x1B[33m"
#define BLU "\x1B[34m"
#define MAG "\x1B[35m"
#define CYN "\x1B[36m"
#define WHT "\x1B[37m"
#define RESET "\x1B[0m"
在main.c
我向这样的几个套接字发送消息时:
send(client_socket[caller], messageToCaller, strlen(messageToCaller), 0);
我知道可以使用 (例如) 以彩色打印到标准输出printf(RED "test message\n" RESET);
,但是有没有一种方便的方法可以send
将彩色消息发送到套接字?
编辑:次要澄清(通过输出,我的意思是标准输出)
解决方案
同样,颜色printf()
由您的外壳处理。如果您在套接字中发送正确的字节码并将其打印到与这些代码兼容的外壳中。这应该没有问题。
然而,这是我第一次看到有人想这样做,而且非常奇怪;)
// send side
#define X (RED "test message\n")
send(client_socket[caller], X, sizeof X - 1, 0);
#undef X
// recv side
ssize_t n = recv(...);
if (n < 0) { /* error */ }
buffer[n] = '\0';
printf("%s", buffer);
推荐阅读
- vim - 如何在所有缓冲区中获取 vimrc
- mongodb - UpdateMany mongodb 文档,其中包含文档中的值
- javascript - 如何访问 js 对象属性?
- javascript - discord bot通过discord.js中的终端安装错误
- jolt - JOLT - 基于对象值的过滤数组
- css - 如何在没有媒体查询的情况下将 2 个 CSS 网格列变成 1 个用于移动设备?
- powerbi - 在嵌入式 Power BI 报表中默认使用 PageView 传递什么 URL 参数?
- python - 格式化一个 json 然后用 json.load() 打开它
- c - epoll_wait和dup2跨fork交互
- ruby-on-rails - 在 Rails 应用程序中使用钩子时出现错误