E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
linux网络编程
linux网络编程
之TCP/IP基础(三):IP数据报格式和IP地址路由
一、IP数据报格式IP数据报格式如下:注:需要注意的是网络数据包以大端字节序传输,当然头部也得是大端字节序,也就是说:Themostsignificantbitisnumbered0attheleft,andtheleastsignificantbitofa32-bitvalueisnumbered31ontheright.The4bytesinthe32-bitvaluearetransmitt
s1mba
·
2020-08-05 16:42
linux
环境网络编程
Linux/Unix网络编程之UDP的connect函数
对于
linux网络编程
,我们都知道UDP是发送数据报,不是面向连接的协议,也就是它只是把数据报发送到链路层,至于能不能到达目的IP和端口,他都无能为力了。
zhengzhoudaxue2
·
2020-08-05 15:17
unix网络编程读书笔记
TCP/IP协议读书笔记
【
LINUX网络编程
】LINUX Socket编程基础
Socket编程基础知识套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。在T
与光同程
·
2020-08-05 15:02
LINUX网络编程
Linux网络编程
--定时器的学习和使用
linux网络编程
需要处理的重要事件之一--定时事件,对于服务器而言,管理着众多的客户端连接,高效稳定的管理这些客户端,定时事件是必不可少的,也对服务器的性能有着至关重要的作用。
奔跑吧,行者
·
2020-08-05 14:23
【
Linux网络编程
】常见 Socket 地址结构
【
Linux网络编程
】常见Socket地址结构【1】IPv4套接字地址结构structsockaddr_in{sa_family_tsin_family;/*AF_INET*/in_port_tsin_port
奋斗企鹅copper
·
2020-08-05 13:55
网络编程
【
Linux网络编程
】服务器端具体实现
注意的点包含头文件sockaddr的强制类型转换提供默认宏BUFSIZ为默认buf大小socket函数建立套接字bind指定IP端口号listen指定最大同时发起的连接数accept阻塞等待客户端连接readread数据转换Write给客户端关闭连接close#include#include#include#include#include//toupper的头文件#include//sockadd
� 晶妹妹
·
2020-08-05 12:49
Linux系统编程
【
Linux网络编程
】read返回值总结以及封装nread
函数示例慢速系统可能造成进程阻塞,慢速系统调用调用被系统中断后可以选择重启intAccept(intfd,structsockaddr*sa,socklen_t*salenptr){intn;again:if((n=accept(fd,sa,salenptr))0的值为实际的字节数buf=1024可以输出1024或者小于1024的值,当返回值小于1024说明读到结尾了=0时数据读完(读到文件、管道
� 晶妹妹
·
2020-08-05 12:49
Linux系统编程
【
Linux网络编程
】客户端具体实现
#include#include#include//toupper的头文件#include//sockaddr_in#defineSERV_PORT6666#defineSERV_IP"127.0.0.1"intmain(void){intcfd;structsockaddr_inserv_addr;//socklen_tser_addr_len;charbuf[BUFSIZ];intn;cfd=
� 晶妹妹
·
2020-08-05 12:49
Linux系统编程
linux网络编程
-TCP socket编程模型
1.编程模型三次握手+四次挥手2.主要函数说明字节序转换函数:#includeuint32_thtonl(uint32_thostlong);uint16_thtons(uint16_thostshort);uint32_tntohl(uint32_tnetlong);uint16_tntohs(uint16_tnetshort);IP转换函数:#includeintinet_pton(intaf
SuperYang_
·
2020-08-05 12:17
Linux服务器
linux网络编程
之socket(二):C/S程序的一般流程和基本socket函数
一、基于TCP协议的网络程序下图是基于TCP协议的客户端/服务器程序的一般流程:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从
s1mba
·
2020-08-05 12:14
linux
环境网络编程
【
Linux网络编程
】Socket编程
socket概念记录IP长度32位端口号16位所以端口号最大为65535定义IP地址文件类型Linux中文件类型占用空间:普通文件目录软链接不占用空间:字符设备块设备管道套接字管道全双工模式总结预备知识网络字节号IP地址转换函数sockaddr数据结构类型转换定义传参套接字函数Socket函数bind函数Listenaccept函数connect函数客户端函数模型流程图记录IP长度32位端口号16
� 晶妹妹
·
2020-08-05 12:02
Linux系统编程
Linux网络编程
下UDP洪水攻击实例介绍
1.介绍UDP攻击向目标主机的UDP端口发送大量的UDP报文,造成目标主机的端口堵塞,达到攻击的目的。建立多线程,利用原始套接字封装UDP与IP的首部,然后发送UDP报文,攻击目标主机.2.实现实例1#include2#include3#include4#include5#include6#include7#include8#include9#include10#include11#include
上官焱阳
·
2020-08-05 04:16
linux
udp
syn
Linux网络编程
---UDP洪水攻击
UDP攻击,又称UDP洪水攻击或UDP淹没攻击(英文:UDPFloodAttack)是导致基於主机的服务拒绝攻击的一种。UDP是一种无连接的协议,而且它不需要用任何程序建立连接来传输数据。当受害系统接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口
zthgreat
·
2020-08-05 02:43
【Linux网络编程】
记一次阿里C/C++研发岗电话面试
还有
linux网络编程
的,socket服务端客服端通信过程以及服务端如何处理多个客服端访问。C++:说说多态是什么?重载和重写区别?一个类的成员
无聊的Ken
·
2020-08-05 02:02
笔试面试
linux网络编程
笔记
以下是对我之前学习的
linux网络编程
的一些笔记。
xubodong
·
2020-08-04 08:11
嵌入式
Linux网络编程
·笔记1·Linux C 文件编程
LinuxC文件编程–LinuxI/O编程1.为什么称为I/O编程?Linux一点哲学:一切皆为文件。2.硬件设备也被抽象为文件:对硬件的操作=对硬件I/O操作=对文件的操作。3.Linux为什么会选择把所有资源抽象成文件?1)文件本质就是字符流–二进制;2)文件的操作比较简单:打开、读、写、关闭、设置文件的属性(w/r/a/+);3)文件系统已较为成熟。4.C语言VSLinux文件操作(二者区别
Glaciersc.
·
2020-08-04 07:20
嵌入式Linux网络编程
大三现在,大四第一学期就要实习
Linux网络编程
。去年开始接触了ubuntu,快一年了。系统卸载了又装,centos,archlinux,redhat都试过。最后还是比较懒,还是在ubuntu上跑。
weixin_33966095
·
2020-08-04 05:37
学习
Linux网络编程
(转载,很不错的入门文章)
这篇教程是用来介绍在Linux下编写网络程序的.-----------------------------------------------------------------Linux系统的一个主要特点是他的网络功能非常强大。随着网络的日益普及,基于网络的应用也将越来越多。在这个网络时代,掌握了Linux的网络编程技术,将令每一个人处于不败之地,学习Linux的网络编程,可以让我们真正的体会到
AlexP5
·
2020-08-04 02:07
C++后台
Linux高级网络编程系列教程
一、网络应用层编程1、
Linux网络编程
01——网络协议入门2、
Linux网络编程
02——无连接和面向连接的区别3、
Linux网络编程
03——字节序和地址转换4、
Linux网络编程
04——套接字5、
Linux
AlexP5
·
2020-08-04 02:36
C++后台
《
Linux网络编程
》读书笔记
去年买了《
LInux网络编程
》这本,没想到一放就是半年的时间了,惭愧啊!当年的雄心壮志都去哪了?
__orz
·
2020-08-04 02:31
Linux网络相关
基于TCP协议的服务器编程
注:以下代码是在观看网易云课堂,职坐标发布的
Linux网络编程
|人工智能物联网时,跟着视频写的,仅为学习使用。
Night_00
·
2020-08-03 22:04
Linux网络编程
Linux网络编程
-- socketpair的使用
socketpair的使用Linux实现了一个源自BSD的socketpair调用,可以实现在同一个文件描述符中进行读写的功能。该系统调用能创建一对已连接的UNIX族socket。在Linux中,完全可以把这一对socket当成pipe返回的文件描述符一样使用,唯一的区别就是这一对文件描述符中的任何一个都可读和可写,函数原型如下:#include#includeintsocketpair(intd
幽雨雨幽
·
2020-08-03 14:11
Nginx
linux网络编程
之posix 线程(三):posix 匿名信号量与互斥锁 示例生产者--消费者问题
一、posix信号量信号量的概念参见这里。前面也讲过systemv信号量,现在来说说posix信号量。systemv信号量只能用于进程间同步,而posix信号量除了可以进程间同步,还可以线程间同步。systemv信号量每次PV操作可以是N,但Posix信号量每次PV只能是1。除此之外,posix信号量还有命名和匿名之分(man7sem_overview):1、命名信号量名字以/somename形式
s1mba
·
2020-08-03 13:41
linux
环境网络编程
linux网络编程
之socket(十五):UNIX域套接字编程和socketpair 函数
一、UNIXDomainSocketIPCsocketAPI原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomainSocket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIXDomainSocket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将
s1mba
·
2020-08-03 13:10
linux
环境网络编程
嵌入式
Linux网络编程
·笔记9·网络
TCP服务器实现过程(1)创建套接字:socket函数(2)给套接字绑定ip地址和端口号:bind函数(3)将套接字文件描述符,从主动变为被动文件描述符(做监听准备):listen函数(4)被动监听客户的连接并响应:accept函数(5)服务器调用read(recv)和write(send),收发数据,实现与客户的通信(6)调用close或者shutdown关闭TCP的连接三十、socket(创建
Glaciersc.
·
2020-08-03 12:08
嵌入式Linux网络编程
linux网络编程
之setsockopt()函数来设置socket状态以及getsockopt函数只用总结
1、setsockopt函数头文件:#include#include定义函数:intsetsockopt(ints,intlevel,intoptname,constvoid*optval,,socklen_toptlen);函数说明:setsockopt()用来设置参数s所指定的socket状态.参数level代表欲设置的网络层,一般设成SOL_SOCKET以存取socket层.参数optnam
chen.yu
·
2020-08-03 05:49
Linux
网络编程
SOCKET套接字选项
一、套接字选项介绍二、套接字选项三、常用套接字选项介绍套接字选项介绍在
Linux网络编程
中,有时需要设置地址复用,允许发送广播包,将主机加入某个多播组,设置发送与接收缓冲区的大小,设置发送与接收的超时时间
rattles
·
2020-08-03 04:14
Unix环境高级编程
linux网络编程
之System V 信号量(三):基于生产者-消费者模型实现先进先出的共享内存段
生产者消费者问题:该问题描述了两个共享固定大小缓冲区的进程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。我们可以用信号量解决生产者消费者问题,如下图:定义3个信号量,sem_full和se
s1mba
·
2020-08-02 22:44
linux
环境网络编程
Linux网络编程
--TCP网络编程基础(简单的server/client模型)
本文主要讲解C/S模型,对服务器端和客户端的流程和函数的使用进行解析,以及网络编程中对信号的处理,特别是由于连接关闭而产生的SIGPIPE信号和终止进程而产生的SIGINT信号,当然截取信号并进行处理是程序稳定性的基本要求。TCP网络编程中常用的函数主要有:socket(),bind(),listen(),accept(),read(),write(),connect(),close();服务器端
奔跑吧,行者
·
2020-08-02 14:07
Linux网络编程
【
Linux网络编程
】并发服务器之多进程模型
00.目录文章目录00.目录01.概述02.多进程并发服务器03.多进程并发服务器实现思路04.多进程并发服务器实现05.附录01.概述服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器。循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服
沧海一笑-dj
·
2020-08-02 12:35
Linux环境高级编程
并发服务器
并发
多进程
多进程服务器
TCP服务器
【
Linux网络编程
】并发服务器之select模型
00.目录文章目录00.目录01.概述02.I/O复用技术概述03.select模型服务器实现思路04.select模型服务器实现05.附录01.概述服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器。循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。
沧海一笑-dj
·
2020-08-02 12:35
Linux环境高级编程
【
Linux网络编程
】循环服务器之TCP模型
00.目录文章目录00.目录01.概述02.TCP循环服务器实现方法03.TCP循环服务器模型04.TCP循环服务器实现05.附录01.概述服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器。循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用
沧海一笑-dj
·
2020-08-02 12:35
Linux环境高级编程
循环服务器
TCP循环服务器
TCP服务器
TCP
服务器
【
Linux网络编程
】并发服务器之多线程模型
00.目录文章目录00.目录01.概述02.多线程服务器03.多线程服务器实现思路04.多线程服务器实现05.附录01.概述服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器。循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。目前最常用的服务器模型循环
沧海一笑-dj
·
2020-08-02 12:35
Linux环境高级编程
Linux网络编程
——tcp并发服务器(poll实现)
想详细彻底地了解poll或看懂下面的代码请参考《
Linux网络编程
——I/O复用之poll函数》代码:[csharp]viewplaincopy#include#include#include#include
alpha_2017
·
2020-08-01 11:48
Linux网络编程
linux网络编程
基础-socket
Socket基础以及相关应用函数什么是socketsocket,也就是我们所谓的套接字,就像插座一样。IP地址可以在网络环境中唯一的标识一台主机端口号:在主机当中唯一标识一个进程。因此,IP地址+端口号,就可以在网络环境中唯一标识一个进程,而在网络环境中被唯一标识的这个进程,就是socket。再说这个套接字,它本质上是Linux操作系统当中文件的一种类型。确切而言,它是一种伪文件,不占用存储。再说
HikingGo
·
2020-07-31 17:38
c
linux
redis学习记录
最近学习redis,发现redis源码和它的名气一样优秀,忍不住深入学习了一把(由于本人工作不涉及C语言,为此还专门下了一本
linux网络编程
的书来补充必要知识,以加深对redis思想的理解),为了加深理解
shouhouren
·
2020-07-31 10:47
缓存
Linux网络编程
:socket文件传输范例
转自http://blog.csdn.net/lisonglisonglisong/article/details/22699675基于TCP流协议的socket网络文件传输Demo:实现:C语言功能:文件传输(可以传任何格式的文件)[cpp]viewplaincopy/****************************************************************
qingkongyeyue
·
2020-07-29 21:26
网络编程
linux网络编程
之进程间通信基础(一):进程间通信概述
一、顺序程序与并发程序特征顺序程序特征顺序性封闭性:(运行环境的封闭性)确定性可再现性并发程序特征共享性并发性随机性二、进程互斥1、由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥2、系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源。3、在进程中涉及到互斥资源的程序段叫临界区举例如下图:假设x=1;当A进程已经判断完毕
s1mba
·
2020-07-29 16:19
linux
环境网络编程
Linux基本操作指令
Linnux课程框架学习LINUX初识阶段:常用操作,常用工具1.Linux系统编程阶段1>进程概念2>进程控制3>基础IO4>进程间通信5>进程信号6>多线程2.
LINUX网络编程
1>基础12>编程3
今日青年
·
2020-07-29 07:40
Linux
linux网络编程
系列(一)--套接口、ip、端口号相关
1.网络相关概念1.1套接口的概念套接口,也叫“套接字”。是操作系统内核中的一个数据结构,它是网络中的节点进行相互通信的门户。网络通信,归根到底还是进程间的通信(不同计算机上的进程间通信)。在网络中,每一个节点(计算机或路由)都有一个网络地址,也就是IP地址。两个进程通信时,首先要确定各自所在的网络节点的网络地址。但是,网络地址只能确定进程所在的计算机,而一台计算机上很可能同时运行着多个进程,所以
晟夏的叶
·
2020-07-28 17:07
epoll学习,epoll与select,pool区别
在
linux网络编程
中,很长的时间都是用select来做事件触发.在linux新内核中,有了一种替换它的机制,就是epoll.相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率
felixit0120
·
2020-07-27 22:46
【
Linux网络编程
】广播地址介绍
00.目录文章目录00.目录01.广播地址概述02.广播地址分类03.四种IP广播地址04.广播和地址05.附录01.广播地址概述广播地址(BroadcastAddress)是专门用于同时向网络中(通常指同一子网)所有工作站进行发送的一个地址。在使用TCP/IP协议的网络中,主机标识段hostID(简称主机ID)为全1的IP地址为广播地址,广播的分组传送给同一个子网的所有计算机。例如,对于10.1
沧海一笑-dj
·
2020-07-27 21:54
Linux环境高级编程
广播地址
广播
UDP广播
广播地址分类
Linux广播
【
Linux网络编程
】广播
00.目录文章目录00.目录01.广播概述02.广播地址分类03.广播的特点04.setsockopt函数05.程序示例06.附录01.广播概述在生活中广播无处不在,像平时在大街上卖物品的商人,在进行推广产品的时候往往都是使用一个喇叭来进行吆喝:“十块钱买不了吃亏,十块钱买不了上当,走过路过千万不要错过”,这就是广播。那么在网络中的广播又是什么样子的呢?网络上的广播指:由一台主机向该主机所在子网内
沧海一笑-dj
·
2020-07-27 21:54
Linux环境高级编程
linux网络编程
广播
Linux
网络编程
网络编程-关闭连接(1)-C/C++相关系统调用
背景在
linux网络编程
中,经常需要编写关闭socket的代码,比如心跳检测失败需要关闭重连;网络报异常需要关闭重连。但究竟关闭操作做了什么,却不太清楚。
ging_efcf
·
2020-07-16 08:15
嵌入式
Linux网络编程
一、TCP/IP协议1、TCP/IP参考模型TCP/IP协议模型遵循简单明确的设计思路,包括以下四层协议:网络接口层:负责将二进制流转换为数据帧,并进行数据帧的发送和接受。数据帧是独立的网络信息传输单元。网络层:负责将数据帧封装成IP数据包,并运行必要的路由算法。传输层:负责端对端之间的通信会话连接与建立。传输协议的选择根据数据传输方式而定。应用层:负责应用程序的网络访问,通过端口号来识别各个不同
hongdongyu
·
2020-07-16 00:22
linux
linux网络编程
之socket(十二):select函数的并发限制和 poll 函数应用举例
一、用select实现的并发服务器,能达到的并发数,受两方面限制1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit-n来调整或者使用setrlimit函数设置,但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat/proc/sys/fs/file-max查看2、select中的fd_set集合容量的限制(FD_SETSIZE,一般为1024),这需
s1mba
·
2020-07-15 18:39
linux
环境网络编程
linux网络编程
之socket(十三):epoll 系列函数简介、与select、poll 的区别
一、epoll系列函数简介#includeintepoll_create(intsize);intepoll_create1(intflags);intepoll_ctl(intepfd,intop,intfd,structepoll_event*event);intepoll_wait(intepfd,structepoll_event*events,intmaxevents,inttimeou
s1mba
·
2020-07-15 18:08
linux
环境网络编程
Linux下编程获取本地IP地址的常见方法
在进行
Linux网络编程
时,经常用到本机IP地址。本文罗列一下常见方法,以备不时之需。获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的。
Dablelv
·
2020-07-15 17:06
C/C++常用代码库
【
Linux网络编程
】标准IO之读文件流
1、freadfread()和文件IO中的read()类似:size_tfread(void*ptr,size_tsize,size_tnmemb,FILE*stream);参数:void*ptr:读取数据存储的内存空间的地址size_tsize:单个元素的大小size_tnmemb:读取数据元素的个数FILE*stream:指向读取文件的文件指针返回值:实际读取的元素个数,非负整数是成功,-1是
container_off
·
2020-07-15 13:25
Linux
虚拟机(vmware)下实现
linux网络编程
(使用socket编程)
先是建立服务器程序:#include#include#include#include#include#include#include#defineMYPORT5858#defineBACKLOG10#defineMAXSIZE80#defineBUFSIZE100//单独的数据处理就是简单的从client端接受数据,然后又发给client端voidstr_ser(intnew_fd){charbu
weixin_30826095
·
2020-07-15 03:43
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他