c - 通过 TCP 连接发送格式化消息

标签 c sockets tcp printf

我有一个现有的 C 程序,它使用以下方法将许多消息打印到标准错误:

fprintf(stderr, ...

我想修改这个程序,使这些消息也通过 Internet 上的 TCP 连接发送出去。 (我已经将其创建为 SOCK_STREAM 套接字。)像 fprintf 一样格式化消息然后通过 Internet 发送它们的最佳方式是什么?

当然,在发送消息之前,我首先需要知道它有多长,所以我可以先将长度发送给客户端,这样客户端就会知道要读入多少字节...

任何想法将不胜感激!

最佳答案

一旦连接了套接字,就可以在套接字文件描述符上使用 fdopen() 将其作为流打开。这将为您提供一个 FILE *,您可以将其传递给 fprintf() 而不是 stderr

关于c - 通过 TCP 连接发送格式化消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1854286/

相关文章:

java - 如何通过套接字发送非常大的对象

c# - 将数据从类传递到表单列表框 |聊天客户端

java - Jmeter TCP Sampler 发送请求无需等待应答

带无效数据成员问题的 C 链表/堆栈

c++ - 获取 SQLite 结果中的列数

c - 谁定义了栈指针地址

c# - .NET 运行时中的 Tcp 缓冲中断

c - C 中的 pthreads - pthread_exit

python - 中止长时间运行的 http 操作

android 内部套接字连接因守护进程服务失败