1

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

先感谢您!

4

1 回答 1

2

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

char buffer[4] = { 0xFF, 0x05, 0x01, 0xFE };
/* ... */
if ( g_socket_send( socket, buffer, 4, ... ) < 0 ) {
    /* handle error */
}
于 2012-06-11T21:12:08.173 回答