网络编程学习笔记 四-数据传输函数

在Linux上socket认为时文件的一种,而在Windows上是要区分socket和文件的,所以他们的操作也是不同的。

Linux

打开文件

int open(const char *path, int flag) //成功时返回文件描述符,失败时返回-1

关闭文件

int close(int fd)  //成功时返回0,失败时返回-1

这两个函数只是打开和关闭文件,下边才是数据传输函数,在Linux上,一切皆文件,故:

发送函数(数据写入文件函数)

ssize_t write(int fd, const void * bug, size_t nbytes) //成功时返回写入的字节数,失败时返回-1

ssize_t 是通过typedef声明的signed int类型

  • fd 显示数据传输对象的文件描述符
  • buf 保存要传输数据的缓冲地址值
  • nbytes 要传输数据的字节数

读取函数(读取文件中的函数)

ssize_t read(int fd, void * buf, size_t nbytes) //成功时返回接受的字节数(但遇到文件结尾则返回0),失败时返回-1
  • fd 显示数据接受对象的文件描述符
  • buf 要保存接受数据的缓冲地址值
  • nbytes 要接受数据的最大字节数

WinSock传输函数

发送函数

int send(SOCKET s, const char * buf, int len, int flags) //成功时返回传输字节数,失败时返回SOCKET_ERROR
  • s 表示数据传输对象连接的套接字句柄值
  • buf 保存待传输数据的缓冲地址值
  • len 要传输的字节数
  • flags 传输数据时用到的多种选项信息
    接受函数
int recv(SOCKET s, const char * buf, int len, int flags)
  • s 表示数据接受对象连接的套接字句柄值
  • buf 保存接受数据的缓冲地址值
  • len 能够接收的最大字节数
  • flags 接受数据用到的多种选项信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值