网络编程I/O功能介绍
read和write
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
參数:
(实际读取或写入的数据大小可能小于count)
readv和writev
#include <sys/uio.h>
ssize_t readv(int fd, const struct iovec *iov, int iovcnt);
ssize_t writev(int fd, const struct iovec *iov, int iovcnt);
send和recv
#include <sys/types.h>
#include <sys/socket.h>
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
ssize_t recv(int sockfd, void *buf, size_t len, int flags);
recvfrom和sendto
#include <sys/types.h>
#include <sys/socket.h>
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
recvmsg和sendmsg
#include <sys/types.h>
#include <sys/socket.h>
ssize_t recvmsg(int sockfd, struct msghdr *msg, int flags);
ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);
笔记:
假设马上被强制中止,那么recv()将以WSAECONNRESET错误失败返回。flags參数和套接字选项都会影响到网络I/O函数的调用方式。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
网络编程I/O功能介绍的更多相关文章
- Java网络编程的Java流介绍
		
前言 网络程序所做的很大一部分工作都是简单的输入输出:将数据字节从一个系统移动到另一个系统.Java的I/O建立于流(stream)之上.输入流读取数据,输出流写入数据.过滤器流(filter)流可以 ...
 - python网络编程-Json序列化功能扩展-软件开发架构-OSI七层协议-TCP-01
		
面向对象补充知识点(面向对象的应用) 扩展json序列化所支持的数据类型(分析源码) import json from datetime import datetime, date # ------- ...
 - 17 网络编程 C/S架构介绍
		
1.什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务器软件),本章的重点是教大家写一个C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 2.计算机基础的知识- ...
 - 网络编程I/O函数介绍
		
read和write #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); ssize_t write(in ...
 - <网络编程>套接字介绍
		
1.端口:IANA(Internet Assigned Numbers Authority)维护着一个端口号分配状况的清单. 众所周知的端口(0-1023):由IANA分配和控制,可能的话,相同的端口 ...
 - linux网络编程实现投票功能
		
投票系统 1.说明: 写了一个投票系统.过程是先配置好server.在写一个网上投票功能,要实现网上投票功能. 事实上功能实现还是非常easy的,麻烦一点的在于过程比較繁杂,要做的东西还是挺多的! 2 ...
 - linux网络编程之共享内存介绍
		
今天是个好日子,洋人之节乃全球同庆,圣诞一来感觉就要过年了,不过今晚心情有点打折扣,给心爱的人打电话没有打通,本想在平安夜送上快乐的祝福给她,糟糕的心情让自己好像泄了气的皮球一样,无精打彩,心情灰暗, ...
 - python select网络编程详细介绍
		
刚看了反应堆模式的原理,特意复习了socket编程,本文主要介绍python的基本socket使用和select使用,主要用于了解socket通信过程 一.socket模块 socket - Low- ...
 - 【网络编程4】网络编程基础-ARP响应(ARP欺骗之中间人攻击)
		
arp欺骗->arp响应 ARP 缓存中毒(ARP欺骗) arp传送原理在于主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消 ...
 
随机推荐
- Spring常见问题解决办法汇总
			
解决The prefix 'context' for element 'context:component-scan' is not bound<beans xmlns="http:/ ...
 - ubuntu系统下给你的ipad充电(适用于所有ios设备)
			
用ipad的都知道,当我们的ipad插上电脑的usb端口默认是不能充电的.windows和ubuntu平台解决办法分别如下. windows平台: 安装软件 ai_charger http://eve ...
 - ZOJ 3635 Cinema in Akiba[ 大规模阵列 ]
			
门户:problemCode=3635">ZOJ 3635 Cinema in Akiba Time Limit: 3 Seconds Memory Limit: 65536 ...
 - html风格的滚动条
			
DIV辊棒的设置 (CSS)2008/09/26 03:07div 控制滚动条2008年01月06日本 星期日 01:181)隐藏滚动条<body style="overflow-x: ...
 - 同台电脑部署多组Tomcat负载均衡(或集群)
			
可能这种需求比较少见,不过如果手上服务器不够用.可以考虑先这么干着.. 具体Tomcat怎么搭集群,就不在这细说了.只写同台电脑部署多组集群需要修改和注意的地方. 一.Apache 先是Apache, ...
 - MongoDB学习笔记-基础概念
			
mongodb中基本的概念 文档.集合.数据库 与关系数据库的概念对比更容易理解
 - 每位iOS开发人员不容错过的10大实用工具
			
内容简介 1.iOS简介 2.iOS开发十大实用工具之开发环境 3.iOS开发十大实用工具之图标设计 4.iOS开发十大实用工具之原型设计 5.iOS开发十大实用工具之演示工具 6.iOS开发十大实用 ...
 - Ecshop他们主动双语版切换来推断个人的计划
			
个人思路是基于浏览器的语言来推断自己主动,假设中国的浏览器,对使用中国模板.将英语模板.于.英国的模板差值称为不同的产品类别.文章分类,的模板可设置为相同的固定的文本language,所以你不会有打造 ...
 - IOS基金会_ UICollectionView简单易用
			
和表格视图类似 UICollectionView的使用有两种方法 一种是继承UICollectionViewController,这个Controller会自带一个UICollectionView. ...
 - C本学习笔记scanf
			
一个.scanf功能介绍 这也是在stdio.h中声明的一个函数.因此使用前必须增加#include<stdio.h>. 调用scanf函数时,须要传入变量的地址作 ...