c - 在 C 中使用 g_socket_send 发送十六进制值

标签 c glib

在 C 中是否可以使用 g_socket_send 通过 GSocket 通过 UDP 发送十六进制值?我不一定需要以一种或另一种方式进行任何转换,但即使我在 g_socket_send 中手动输入一个十六进制字符串作为 gchar 缓冲区,它也会作为 ASCII 字符串发送。

提前致谢!

最佳答案

您正在发送字节。您需要弄清楚另一端期望什么,并相应地构建这些字节。比如说,如果您的接收器想要二进制数据,那么可能就是这样:

char buffer[4] = { 0xFF, 0x05, 0x01, 0xFE };
/* ... */
if ( g_socket_send( socket, buffer, 4, ... ) < 0 ) {
    /* handle error */
}

关于c - 在 C 中使用 g_socket_send 发送十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10987262/

相关文章:

c - C 中的指针数组和只读存储器

c - 如何在c中创建嵌套结构

c++ - 带有 C++ : Can't create a DBusGProxy, 的 DBus Glib 释放它并再次创建它

python - Gtk 3,python,appindicator,禁用标签附近的图标

c - "Correct"使用 GTK 为 g_signal_connect() 进行转换?

cmake - 在 CMake 中使用 GLib2 的推荐方法是什么

c - 函数返回结构错误

c - 麻烦在 C 中进行总计

在运行 configure 时配置不同于默认的编译器

gstreamer - 是否可以在没有 GLib 主循环的情况下使用 GStreamer?