【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系统 ...
随机推荐
- [Linux]ubuntu16.04 nginx彻底删除与重新安装
nginx彻底删除与重新安装 查看nginx正在运行的进程,如果有就kill掉 sudo netstat -ntlp | grep nginx sudo kill -9 进程id 删除nginx,pu ...
- html5原生js拖拽上传(golang版)
一次只能传一个文件,需在main.go同级目录中建一个upload文件夹 main.go package main import ( "fmt" "io" &q ...
- Confluence 6.15 附件(Attachments )宏
附件宏显示添加到一个页面中的所有文件列表. 同时附件宏允许用户(用户需要具有正确的权限)来进行下面的操作: 直接从列表中上传一个文件到页面 编辑附件属性和标签 删除一个附件文件(这个将会删除文件的所有 ...
- MessagePack Java 0.6.X 可选字段
你可添加一个新的字段来保持可用性.在新字段中使用 @Optional 注解. @Message public static class MyMessage { public String na ...
- HDU6140--Hybrid Crystals(思维)
Hybrid Crystals Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 消息模板-RabbitTemplate
RabbitTemplate是我们在与SpringAMQP整合的时候进行发送消息的关键类该类提供了丰富的发送消息的方法,包括可靠性消息投递.回调监听消息接口ConfirmCallback.返回值确认接 ...
- CodeForces 714E Sonya and Problem Wihtout a Legend(单调数列和DP的小研究)
题意:给你n个数字,每个数字可以加减任何数字,付出变化差值的代价,求最后整个序列是严格单调递增的最小的代价. 首先我们要将这个题目进行转化,因为严格单调下是无法用下面这个dp的方法的,因此我们转化成非 ...
- 「CF525D」Arthur and Walls
题目链接 戳我 \(Solution\) 如果一个#要更改,那么一个四个格子的正方形只有他一个是#,bfs弄一下就好了 \(Code\) #include<bits/stdc++.h> u ...
- 在RestController中获取各种信息的方法
内容 获取方法 URL中路径的一部分 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量@GetMapping("/{id}")public S ...
- leetcode-hard-array-41. First Missing Positive-NO
mycode class Solution(object): def firstMissingPositive(self, nums): """ :type nums: ...