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

时间:2012-06-11 20:43:47

标签: c glib

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

提前谢谢!

1 个答案:

答案 0 :(得分:2)

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

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