【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系统 ...
随机推荐
- psd缩略图生成上传解决方案
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = ...
- cogs服务点设置(不凶,超乖) x
cogs3. 服务点设置 ★ 输入文件:djsa.in 输出文件:djsa.out 简单对比时间限制:1 s 内存限制:128 MB 问题描述为了进一步普及九年义务教育,政府要在某乡镇 ...
- TensorFlow使用记录 (五): 激活函数和初始化方式
In general ELU > leaky ReLU(and its variants) > ReLU > tanh > logistic. If you care a lo ...
- mac 强行关掉php
sudo pkill -INT -o php-fpm//重启php sudo php-fpm //mac brew安装的php可以使用这个开启brew services start homebrew/ ...
- Centos 安装字体库 以及解决confluence 旧文档数据的乱码
首先,第一步我们需要执行以下的命令来安装字体管理工具: yum install -y fontconfig mkfontscale 然后我们到(Windows系统)“c:/windows/fonts ...
- python3爬取拉钩招聘数据
使用python爬去拉钩数据 第一步:下载所需模块 requests 进入cmd命令 :pip install requests 回车 联网自动下载 xlwt 进入cmd命令 :pip install ...
- Java线程中的异常处理
对于对线程,当主线程中有子线程运行出现异常时,主线程是不能捕获到该异常的,子线程会直接退出,不会记录任何日志. 解决: 1.子线程中try catch. 2.设置线程的未捕获异常处理器,Uncaugh ...
- oracle 中使用 pl/sql代码块
1.写匿名块,输入三角形三个表的长度.在控制台打印三角形的面积. declare -- (p=(a+b+c)/2) --声明三角形的面积 三条边 的 v_a number (10,2):=&n ...
- (十五)C语言之字符串
- State Threads之Co-routine的调度
1. 相关结构体 1.1 _st_epoll_data static struct _st_epolldata { _epoll_fd_data_t *fd_data; /* 调用 epoll_wai ...