美文网首页
Linux支持socket to socket传输吗

Linux支持socket to socket传输吗

作者: YDDMAX_Y | 来源:发表于2018-11-13 17:08 被阅读0次

目前来看没有系统对应的系统调用支持。

sendfile的原型如下,第一个参数必须是文件类型的描述符。只支持文件到其他buffer的zero copy传输。

参见:http://man7.org/linux/man-pages/man2/sendfile.2.html
#include <sys/sendfile.h>
 ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count);

sendfile() copies data between one file descriptor and another.
Because this copying is done within the kernel, sendfile() is more
efficient than the combination of read(2) and write(2), which would require transferring data to and from user space.
in_fd should be a file descriptor opened for reading and out_fd
should be a descriptor opened for writing.

If offset is not NULL, then it points to a variable holding the file
offset from which sendfile() will start reading data from in_fd.
When sendfile() returns, this variable will be set to the offset of
the byte following the last byte that was read. If offset is not
NULL, then sendfile() does not modify the file offset of in_fd;
otherwise the file offset is adjusted to reflect the number of bytes
read from in_fd.

If offset is NULL, then data will be read from in_fd starting at the
file offset, and the file offset will be updated by the call.

count is the number of bytes to copy between the file descriptors.

The in_fd argument must correspond to a file which supports
mmap(2)-like operations (i.e., it cannot be a socket).

In Linux kernels before 2.6.33, out_fd must refer to a socket. Since
Linux 2.6.33 it can be any file. If it is a regular file, then
sendfile() changes the file offset appropriately.

相关文章

  • Linux支持socket to socket传输吗

    目前来看没有系统对应的系统调用支持。 sendfile的原型如下,第一个参数必须是文件类型的描述符。只支持文件到其...

  • linux下socket编程实例

    一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输...

  • 春招笔记

    Linux支持的IPC:管道,消息队列,共享内存,信号量,Socket。只有Socket支持CS模式,其他的也可以...

  • Socket

    Socket socket是什么 socket是什么?socket在哪?先了解TCP/IP协议 TCP/IP:传输...

  • socket原理

    socket理解 -套接字socket是通信的基石,是介于传输层(tcp/udp)和应用层(http等)之间,支持...

  • 网络编程

    Linux Socket编程(不限Linux) C/C++ socket编程教程:1天玩转socket通信技术 一...

  • iOS Socket

    Socket(套接字)是通讯协议.通过IP地址,和端口号进行锁定传输数据.Socket支持TCP/UDP协议,一个...

  • IPC之基于TCP协议的Socket的使用

    Socket也称为套接字,可以用来实现进程间的通信。Socket本身支持传输任意字节流。 demo实现了简单的跨进...

  • Socket

    Socket socket是套接字,多指传输层网络接口。 Socket和SocketServer是基于套接字的服务...

  • 计算机网络:socket编程

    概念 处于传输层,使用socket API传输报文。两种传输层服务的socket类型:TCP(可靠的、字节流的服务...

网友评论

      本文标题:Linux支持socket to socket传输吗

      本文链接:https://www.haomeiwen.com/subject/gfmlfqtx.html