相关疑难解决方法(0)

使用C/C++(GCC/G ++)在Linux中使用套接字编程发送和接收文件

我想使用能够发送和接收文件的套接字和C/C++语言实现在Linux上运行的客户端 - 服务器体系结构.是否有任何库使这项任务变得简单?有人可以提供一个例子吗?

c c++ sockets linux network-programming

37
推荐指数
4
解决办法
11万
查看次数

C,sendfile()和send()的区别?

sendfile()在内核空间中的两个文件描述符之间复制数据.在某个地方,我看到如果你在Linux中用C编写Web服务器,你应该使用send()和recv()而不是使用write()和read().那么send()也使用内核空间吗?

无论我用什么发送 - sendfile()或send() - 在客户端我都会使用recv()吗?

另一方面,man page说:"send()和write(2)之间的唯一区别是标志的存在.使用零标志参数,send()等同于write(2)."

c linux send sendfile

16
推荐指数
1
解决办法
2万
查看次数

两个文件描述符之间的桥接

我有一个我正在做的套接字select(),等待其他进程写入.一旦写入,我读取数据,并将其写入另一个文件描述符.我的问题是,如果有一种方法可以将套接字桥接到文件描述符,那么当数据就绪时,它会自动写入另一个文件描述符?

这样,我可以抛出我正在使用的缓冲区,并省略系统中的一个线程.

c sockets linux file-descriptor

10
推荐指数
2
解决办法
2051
查看次数

理解sendfile()和splice()

sendfile()可用于将数据从"文件"描述符传输到"套接字"描述符,以便从机器A到机器B获取数据.是否可以将接收端的数据从"套接字"描述符获取到文件具有类似的零拷贝语义?我认为sendfile()这里没有帮助,因为sendfile()需要数据源是"页面/缓冲区"缓存.我的理解是否正确?splice()在这种情况下可以帮忙吗?

linux splice sendfile

7
推荐指数
1
解决办法
7413
查看次数