【Linux 网络编程】常用TCP/IP网络编程函数
(1)函数socket
/****************************************************************
** 功能:创建一个套接字用于通信
** 参数:domain 指定通信协议族
** type 指定socket类型,流式套接字 SOCK_STREAM
** 数据报套接字 SOCKDGRAM
** 原始套接字 SOCKRAW
** protocol 协议类型 (习惯上填写0)
** 返回值:成功返回非负整数,它与文件描述符类似,我们把它称为
** 套接字描述符,简称套接字。失败返回-1;
****************************************************************/
#include <sys/types.h>
#include <sys/socket.h> int socket(int domain, int type, int protocol);
(2)函数bind
/*******************************************************************************
** 功能:绑定一个本地地址到套接字
** 参数:sockfd socket函数要返回的套接字
** addr 要绑定的地址
** addrlen 地址长度
** 返回值:成功返回0,失败返回-1
*******************************************************************************/
#include <sys/types.h>
#include <sys/socket.h> int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
(3)函数listen
/*****************************************************************************
** 功能:将套接字用于监听进入的连接
** 参数: sockfd socket函数返回的套接字
** backlog 规定内核为此套接字排队的最大的连接个数
** 返回值: 成功返回 0 失败返回 -1
**
** (1)一般来说,listen函数应该在调用socket和bind函数之后,调用accept函数之前调用
** (2)对于给定的监听套接字接口,内核要维护两个队列
** <1>已由客户发送并到达服务器,服务器正在等待完成对应的TCP三次握手过程
** <2>已经完成连接的队列
**
******************************************************************************/
#include <sys/types.h>
#include <sys/sock.h> int listen(int sockfd, int backlog);
(4)函数accept
/*********************************************************************************
** 功能:从已经完成连接队列返回第一个连接,如果已经完成连接队列为空,则阻塞
** 参数: sockfd 服务器套接字
** addr 将返回对等待的套接字地址
** addrlen 返回对等方的套接字地址长度
** 返回值:成功返回非负整数 ,失败返回-1
*********************************************************************************/
#include <sys/types.h>
#include <sys/scoket.h> int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
(6)函数connet
/***********************************************************************************
** 功能:用于建立与指定socket的连接
** 参数:sockfd 标识一个未连接的socket
** addr 指定要连接套接字的sockaddr结构体的指针
** addrlen sockaddr结构体的字节长度
***********************************************************************************/
7 #include <sys/types.h>
#include <sys/socket.h>
9
int connect(int sockfd, const strcut sockaddr *addr, socklen_t addrlen);
【Linux 网络编程】常用TCP/IP网络编程函数的更多相关文章
- iOS网络协议 HTTP/TCP/IP浅析
一.TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...
- 对TCP/IP网络协议的深入浅出归纳
前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...
- 转:对TCP/IP网络协议的深入浅出归纳
转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...
- 对TCP/IP网络协议的深入浅出归纳(转)
前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...
- TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP
TCP/IP,HTTP,SOAP等协议之区别 术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...
- UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数
UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数 gethostname() getppername() getsockname() gethostbyname() ...
- 嵌入式linux的网络编程(1)--TCP/IP协议概述
嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...
- TCP/IP网络编程 读书笔记1
本篇主干内容是TCP/IP网络编程1-9章学习笔记 1. linux文件描述符 描述符从3开始以由小到大的顺序编号,0,1,2,分配给标准I/O用作标准输入.标准输出和标准错误. 2. 协议族与套接字 ...
- 浅谈TCP/IP网络编程中socket的行为
我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: 1. TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) 2. Socket I/O系统 ...
随机推荐
- jquery trigger() 方法 语法
jquery trigger() 方法 语法 作用:trigger() 方法触发被选元素的指定事件类型.深圳大理石平台 触发事件:规定被选元素要触发的事件. 语法:$(selector).trigge ...
- DOM对象属性
事件 onmouseover 鼠标以上事件 onmouseout 鼠标离开事件 onclock 鼠标点击事件 onfocus 获取焦点 onblur 失去焦点 oninput 输入事件 ...
- BigDecimal的保留位数和四舍五入的方法
一 BigDecimal num = new BigDecimal("2.225667");//一般都会这样写最好 int count = num.scale(); System. ...
- TCP被动打开 之 第三次握手-接收ACK
假定客户端主动打开,发送syn包到服务器,服务器创建连接请求控制块加入到队列,进入TCP_NEW_SYN_RECV 状态,发送syn+ack给客户端,并启动定时器,等待客户端回复最后一个握手ack: ...
- linux下无root源码安装软件
先进入源码文件夹下指定安装路径 ./configure --prefix=/public/home/ztu/usr/samtools 编译 make 安装 make install 写入环境变量 vi ...
- LeetCode 75. 颜色分类(Sort Colors)
题目描述 给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色 ...
- Anaconda 改为国内镜像的方法
Anaconda的conda 特别好用 但如果用国外的镜像,慢的出奇 可以改为了国内镜像会好很多 conda config --add channels https://mirrors.tuna.ts ...
- LC 644. Maximum Average Subarray II 【lock,hard】
Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...
- oracle imp 工具可能出现的问题
- CentOS7性能监控系统安装
想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数 ...