【Linux C socket】socket常用参数说明

Linux中用C语言实现Socket通信 stdio.h : 这个文件头文件是标准的输入输出,StandardInputOutput。这个头文件主要涉及文件相关的输入输出操作。典型的方法printf() , scanf(),getc(), putc()。怎么理解这里文件呢?在Linux,有一个基本的原则,键盘、显示等这些操作都会作为文件来对待。事实上,键盘输入是默认的stdin文件流,显示输出是默认的stdout文件流。StandardL。 阅读详情

int socket(int af, int type, int protocol);

int fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
参数说明
af一个地址描述。常用AF_INET实现TCP/UDP协议。
type指定socket类型。新套接口的类型描述类型。常用SOCK_STREAM(TCP)和SOCK_DGRAM(UDP)。
protocol顾名思义,就是指定协议。套接口所用的协议。如调用者不想指定,可用0。
type说明
SOCK_STREAM流式套接口,传输的是字节流,每次传输的数据没有边界,它是面向连接的,底层使用TCP协议。
SOCK_DGRAM数据报套接口,无连接,使用UDP协议。
SOCK_RAW//
SOCK_PACKET//
SOCK_SEQPACKET//
protocol说明
IPPROTO_TCPTCP传输协议
IPPROTO_UDPUDP传输协议
IPPROTO_STCPSTCP传输协议
IPPROTO_TIPCTIPC传输协议

 

int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);

int opt = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void *)&opt, sizeof(opt));
参数说明
sockfd标识一个套接口的描述字。
level选项定义的层次。
optname需设置的选项。
optval指针,指向存放选项待设置的新值的缓冲区。
optlenoptval缓冲区长度。
level说明
SOL_SOCKET基本套接口
IPPROTO_TCPTCP套接口
IPPROTO_IPIPv4套接口
IPPROTO_IPV6IPv6套接口
optname说明数据类型
SOL_SOCKET
SO_BROADCAST允许发送广播数据int
SO_DEBUG允许调试int
SO_DONTROUTE不查找路由int
SO_ERROR获得套接字错误int
SO_KEEPALIVE保持连接int
SO_LINGER延迟关闭连接struct linger
SO_OOBINLINE带外数据放入正常数据流int
SO_RCVBUF接收缓冲区大小int
SO_SNDBUF发送缓冲区大小int
SO_RCVLOWAT接收缓冲区下限int
SO_SNDLOWAT发送缓冲区下限int
SO_RCVTIMEO接收超时struct timeval
SO_SNDTIMEO发送超时struct timeval
SO_REUSERADDR允许重用本地地址和端口int
SO_TYPE获得套接字类型int
SO_BSDCOMPAT与BSD系统兼容int
IPPROTO_IP
IP_HDRINCL在数据包中包含IP首部int
IP_OPTINOSIP首部选项int
IP_TOS服务类型
IP_TTL生存时间int
IPPRO_TCP
TCP_MAXSEGTCP最大数据段的大小int
TCP_NODELAY不使用Nagle算法int

 
 
参考:https://www.cnblogs.com/gangzilife/p/9766114.html

 
 
内容有待完善,欢迎指正~

socket】C语言Socket网络编程 目录 Socket网络编程 1、网络知识 网络中进程之间如何通信? 什么是Socketsocket一词的起源 怎么理解端口? 怎么理解socket ? 2. 客户/服务器模式 2.1 服务器端: 2.2 客户端: 4. 套接字函数 4.1 创建套接字──sock... 阅读详情

相关推荐

Linux C/C++ Socket 编程

null null null null

Jackey_Song的博客 1640

linux C/C++ socket编程

socket

qq_37026934的博客 4597

linux C语言 socket的server、client 实现

你可以将上述代码分别保存为 server.c 和 client.c,并分别编译成可执行文件,然后在两个不同的终端窗口中运行它们。如果你使用的是不同的编程语言或开发环境,编译步骤可能会有所不同。通常,你需要指定套接字的类型(例如,SOCK_STREAM表示TCP套接字)和地址族(例如,AF_INET表示IPv4地址族)。在实际应用中,不可能像实例一中,server只接收一次,client只向server发送一次。// 关闭套接字, 只要关闭client,server端的recv就不会阻塞了,返回0!

坛城的博客 2686

Linux使用C语言实现Socket编程

Linux使用C语言实现Socket编程

qq_61585528的博客 1979

linux c语言 socket编程

socket

m0_57046226的博客 1045

linux下c语言使用socket进行线程间的通信

   socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现, socket即是一种特殊的文件,一些socket函数就是对...

qq_37760746的博客 2501

C语言socket使用讲解。

1.socket定义。在Linux中的网络编程是通过socket接口来进行的。其实socket接口也是一种特殊的I/O(在《深入理解计算机系统》这本书中的IO部分也有提到网络也是一种特殊的IO),它也是一种文件描述符。socket也有一个类似于打开文件的函数调用,该函数返回一个整型的socket描述符,随后的建立连接、数据传输等操作都是通过socket来实现的。2.socket的类型。1 .流式so

繁城落叶 2万+

Socket编程中常用C函数总结

本文总结LinuxSocket编程常用C函数,但是不包括套接字API(如:connect,socket等),持续更新。。。 1/函数名:gets 功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。 用法:char*gets(char*

TITANIC上的小景 1879

Linux下C语言实现UDP Socket编程

该博文参考了Linux C socket 编程之UDP一文,在这里表示感谢! 发送方: /* * File: udp_sender.c * Author: 离樽 * * Created on 2019年5月29日17:08:13 * * 主要实现:发送20个文本消息,然后再发送一个终止消息 */ #include <stdio.h> #include <s...

Henry 2741

【C语言Linux socket 编程

在 TCP 连接中,`close()` 函数的执行将启动 TCP 连接的终止过程,通常称为四次挥手(four-way handshake)。函数在 Socket 编程中用于将一个未连接的 socket 转换成一个被动的监听 socket,指示内核应当接受指向该 socket 的连接请求。在 Linux 系统中,socket 是一种特殊的文件描述符,用于在网络中的不同主机间或者同一台主机中的不同进程间进行双向通信。函数时,如果存在待处理的连接请求,它会创建一个新的已连接套接字,并从队列中移除该请求。

数字人生 2138

Linux_C例程(Socket)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的

连想的博客 987

linux 网络编程socket

Socket=(IP地址:端口号),套接字的表示方法是点分十进制的lP地址后面写上端口号,中间用冒号或逗号隔开。每一个传输层连接唯一地被通信两端的两个端点所确定。

Qurry的博客 4582

Linux中用C语言写一个socket编程示例

以下是 Linux 中使用 C 语言编写的简单 socket 编程示例: 服务端代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket...

weixin_42590539的博客 254

Linux C 下的socket网络编程

1.socket简介 在我们常用的网络通信中,socket是最常用的一种,socket编程也称套接字编程,下面我们将对socket编程进行相关讲解,其中包括服务器与客户端通信讲解,以及代码实现。 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 2.socket...

qq_46388890的博客 1866

Linux 提供的socket API解析

是一个指向包含有本机IP地址及端口号等信息的sockaddr 类型的指针,指向要绑定给sockf的协议地址结构,这个地址结构根据地址创建socket 时的协议族不同而不同。数据报套接字定义了一种无连接的服务,数据通过相互独立的报文进行传输,是无序的,并且保证可靠、无差错的。它使用数据协议UDP。允许使用低层协议,原始套接字允许对低层协议如IP或ICMP进行直接访问,功能强大但使用较为不便,主要用于一些协议的开发。指明所使用的的协议族,通常AF_INEF ,表示互联网协议族(TCP/IP协议族);

d0203的博客 406

C/C++ Linux Socket网络编程 TCP 与 UDP

详细介绍Linux环境C/C++如何使用socket通信,TCP与UDP;

cpp_learner的博客 1万+

Linux C语言网络编程(学习笔记二):socket实现网络通信(tcp和udp)

在日常应用中有很多关于socket网络通信的例子,例如局域网内打游戏,使用浏览器看视频,用QQ软件聊天等。可以说socket是底层抽象给应用层所使用的一套接口。网络通信的传输方式有两种,一种是基于TCP(数据可靠传输),另一种是基于UDP(数据不可靠,一般用于实时视频传输)。

ssz__的博客 5028
下一篇: 【Linux C socket】tcp socket 数据传输 简单示例
Loteria
博客等级 码龄6年 0粉丝 4原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值