(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网络编程函数的更多相关文章

  1. iOS网络协议 HTTP/TCP/IP浅析

    一.TCP/IP协议       话说两台电脑要通讯就必须遵守共同的规则,就好比两个人要沟通就必须使用共同的语言一样.一个只懂英语的人,和一个只懂中文的人由于没有共同的语言(规则)就没办法沟通.两台电 ...

  2. 对TCP/IP网络协议的深入浅出归纳

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  3. 转:对TCP/IP网络协议的深入浅出归纳

    转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...

  4. 对TCP/IP网络协议的深入浅出归纳(转)

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来 我花了一些时间去了解这些网络协议,现在对TCP/IP网 ...

  5. TCP/IP网络协议的通俗理解,SOCKET,HTTP,SOAP

    TCP/IP,HTTP,SOAP等协议之区别   术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议.“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络.把IP想 ...

  6. UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数

    UNIX环境高级编程——TCP/IP网络编程   常用网络信息检索函数 gethostname()   getppername()   getsockname()   gethostbyname() ...

  7. 嵌入式linux的网络编程(1)--TCP/IP协议概述

    嵌入式linux的网络编程(1)--TCP/IP协议概述 1.OSI参考模型及TCP/IP参考模型 通信协议用于协调不同网络设备之间的信息交换,它们建立了设备之间互相识别的信息机制.大家一定都听说过著 ...

  8. TCP/IP网络编程 读书笔记1

    本篇主干内容是TCP/IP网络编程1-9章学习笔记 1. linux文件描述符 描述符从3开始以由小到大的顺序编号,0,1,2,分配给标准I/O用作标准输入.标准输出和标准错误. 2. 协议族与套接字 ...

  9. 浅谈TCP/IP网络编程中socket的行为

    我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: 1. TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) 2. Socket I/O系统 ...

随机推荐

  1. idea 2017 破解方法

    一.先进入Intellij IDEA的官网:https://www.jetbrains.com,下载安装 二.破解. 网上的破解方法较多,总结下来大概有下面几种办法供大家作为参考 声明:破解用于学习和 ...

  2. poj 3069 贪心+区间问题

    Saruman's Army Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5989   Accepted: 3056 De ...

  3. 一步一步理解线段树——转载自JustDoIT

    一步一步理解线段树   目录 一.概述 二.从一个例子理解线段树 创建线段树 线段树区间查询 单节点更新 区间更新 三.线段树实战 -------------------------- 一 概述 线段 ...

  4. #if/#else/#endif

    在linux环境下写c代码时会尝试各种方法或调整路径,需要用到#if #include<stdio.h> int main(){ int i; #if 0 i = ; #else i = ...

  5. codeforces666A

    Reberland Linguistics CodeForces - 666A First-rate specialists graduate from Berland State Institute ...

  6. Centos安装JIRA 7.13版本(自己在官方下载最新版)以及破解

    后半部分流程来自:https://www.cnblogs.com/kaola8023/p/6950481.html 安装准备(切记将许可证号备份) 1.准备mysql需要5.6以及以上的版本(注意:建 ...

  7. ARTS打卡计划第一周

    Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtq ...

  8. springboot 项目部署后 404的问题

    是因为打包的时候,没有把webapp打包进去 pom.xml 在build 里加入下面的依赖即可 <!-- resources插件,在打jar包时可以将webapp目录下的文件进行打包 --&g ...

  9. Ubuntu——关于以root权限操作和启用root账户的讨论

    概括性的说,在Ubuntu下面,推荐用户加入到sudo之后,使用命令: sudo -i 来以管理员权限进行操作. 而不推荐用户直接登录root用户. 具体内参考:https://help.ubuntu ...

  10. 取得远端相应Json并转化为Java对象(嵌套对象)二

    工程下载链接:https://files.cnblogs.com/files/xiandedanteng/JsonParse20190929.rar 客户端: 如果从Restful Service取得 ...