Linux下万物皆文件

在了解了客户端和服务器的函数调用之后,我们只需要了解下文件操作就能编写出属于自己的客户端和服务器了,还能让他们进行通信。

这个内容其实是很简单的,所以博主就不再做过多的讲解

打开文件

#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>int open(const char *path, int flag);第一个参数: const char *path:文件名的字符串地址第二个参数: int flag:文件打开模式返回值:成功:返回文件描述符失败:-1

下面是关于第二个参数 flag 可能的产量值即含义:

关闭文件

#include<unistd.h>int close(int fd);int fd: 需要关闭的文件或套接字的文件描述符成功:0
失败:-1

将数据写入文件

#include<unistd.h>ssize_t write(int fd, const void *buf, size_t nbytes);第一个参数 int fd 显示数据传输对象的文件描述符第二个参数 const void *buf 保存要传输数据的缓冲地址值第三个参数 size_t nbytes要传数据的字节数

提示:
size_t 是通过 typedef 声明的 unsigned int 类型
ssize_t 就是 typedef 声明的 signed int

读取文件中的数据

 与之前的 write 函数对应, read 用来接受数据

读取文件中的数据

#include<unistd.h>ssize_t read(int fd, void *buf, size_t nbyres);第一个参数 int fd 显示数据接收对象的文件描述符第二个参数 void *buf保存接收数据的缓冲地址值第三个参数 size_t nbytes要接收数据的最大字节数成功: 返回就收的字节数(但遇到文件结尾则返回0)
失败: -1
 那么下面我们就可以来看看服务器端和客户端的代码了



客户端:

相信大家再看这些代码已经是毫无压力,所以我们的一个服务器端服务一个客户端的网络编程就到这里差不多结束了(最后讲完半关闭就可以进行完结了)

基于 Linux 的文件操作 网络编程的最后一环相关推荐

  1. 基于Winsock API的VC网络编程实战

    基于Winsock API的VC网络编程实战 随着计算机信息技术的飞速发展,互联网与人类社会的工作.生活越来越紧密相关,它已经成为人类获取.交流信息的重要途径和手段.所以当前对于开发人员来说,网络编程 ...

  2. 基于Linux的 Open×××网络之网络架构应用实例

    基于Linux的 Open×××网络之网络架构应用实例 Open××× 概述 Open××× 是一个开源的加密隧道构建工具,基于 OpenSSL 的 SSL/TLS 协议,可以在 Internet中实 ...

  3. Linux的文件操作

    1. 文件操作系统的调用 Linux的文件操作系统调用(在Windows编程领域,操作系统提供的接口称为 API)涉及创建(create).打开(open).读写(read/write)和关闭(clo ...

  4. mysql修改工资字段_基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎)...

    基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎) 前言 本篇是基于Linux下针对MySQL表结构的修改,MySQL索引的操作以及MySQL数据引擎的配置和说明. ...

  5. 基于c++和asio的网络编程框架asio2教程基础篇:1、基本概念和使用说明

    基于c++和asio的网络编程框架asio2教程基础篇:1.基本概念和使用说明 由于asio2没有写技术文档,因此打算写几篇文章介绍一下如何使用它,主要是针对新手. 1.asio2如何使用? asio ...

  6. linux修改目录block信息,linux下文件操作inode,block的变化

    在"浅谈linux性能调优之三:分区格式化之前的考虑" http://my.oschina.net/sharelinux/blog/143522    一文中我说了inode与bl ...

  7. Linux内核文件操作

    Linux内核文件操作 前言 一.文件操作结构体 二.VFS之file_operations对象 1.文件打开filp_open 2.文件关闭filp_close 3.文件读取vfs_read 4.文 ...

  8. 基于c++和asio的网络编程框架asio2教程基础篇:2、各个回调函数的触发顺序和执行流程

    基于c++和asio的网络编程框架asio2教程基础篇:2.各个回调函数的触发顺序和执行流程 以tcp举例: tcp服务端流程: #include <asio2/asio2.hpp>int ...

  9. linux拷贝文件函数,linux下文件操作的各个函数

    作者:HoytEmail:hoytluo@21cn.com 前言: 我们在这一节将要讨论linux下文件操作的各个函数. 文件的创建和读写 文件的各个属性 目录文件的操作 管道文件 --------- ...

最新文章

  1. python的顶级高手_Python+深度学习
  2. pfSense 2.4.4-RELEASE现已发布!
  3. 数据结构源码笔记(C语言):B树的相关运算算法
  4. Java集成PageOffice在线打开编辑word文件 - Spring Boot
  5. 虚拟化的第一步——VMware基本整合评估服务
  6. Linux下如何简单删除/data的空目录
  7. Java内存模型、volatile、原子性、可见性、有序性、happens-before原则
  8. python之csv模块(part1)--写入csv文件
  9. 如何使用Java,Maven,Jetty创建Web应用程序项目
  10. python 算术运算
  11. 工作197:判断对象里面是否有0和1
  12. 计算机功能性英语作文,2017考研英语作文:10个功能性“仿写”句型
  13. c语言里编译错误c131,C语言题库2.doc
  14. Docfetcher
  15. 从高德地图获取城市地铁线路+站点
  16. html表格中间有空白,word文档表格中间出现空白怎么解决
  17. CCPP Blog 目录
  18. Kaggle 入门 Crime
  19. Statistics 基础之Hypothesis Tests1---t检验
  20. 无线路由器经常掉线怎么办

热门文章

  1. C++11线程库模板
  2. The _imagingft C module is not installed
  3. 如何设置xampp的phpmyadmin外网访问?
  4. Python:Bug 官网不要了,全迁去 GitHub!
  5. 2021 re:Invent ,我们到底该关注哪些发布?
  6. 数据库史上最大投资!Neo4j获3.25亿美元F轮融资
  7. 微软发布 OpenJDK 预览版!
  8. Linux 下杀毒软件 CPU 占用率为何持续升高
  9. 荣耀与美团合作推出 “共享笔记本”;传腾讯建议推出美国版微信,已被否;Debian 10.6 稳定版发布|极客头条
  10. 英特尔:已获得向华为供货许可;央视曝光“微信清粉”软件存风险;HHVM 4.75 发布|极客头条