【问题标题】:how to send binary data through socket in c?如何通过c中的套接字发送二进制数据?
【发布时间】:2020-09-08 03:54:59
【问题描述】:

我正在尝试向客户端发送二进制数据,我正在尝试做的是: write(client_fd,"0xf",size,flag)。我不知道如何使字符串二进制,也不知道应该使用什么类型的标志。

【问题讨论】:

  • 当你说你想以二进制形式发送字符串时,你的意思是发送'0''x''f''\0'还是发送b1111?
  • 这能回答你的问题吗? Send raw binary data over C socket?

标签: c sockets send


【解决方案1】:

字符串文字“0xf”类似于

char str[] = { '0', 'x', 'f', '\0' };

如果要写入实际的 0x0 和 0xf 数据,可以在字符串文字中表示十六进制值,每个值都以 \x 开头,如下所示:

size = 2;
nwritten = write(sock_fd, "\x0\xf", size);

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 2011-12-03
    • 1970-01-01
    • 2017-04-29
    • 2011-04-21
    相关资源
    最近更新 更多