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网络编程
之UDP协议(完整版)
server.c:#include/*SeeNOTES*/#include#include#include#include#include#include#include#include/*socket*bind*sendto/recvfrom*/#defineSERVER_PORT8888intmain(intargc,char**argv){intiSocketServer;intiSocke
weixin_34375251
·
2020-07-12 23:27
linux网络编程
(9)UDP服务器与客户端代码
服务器代码:#include#include#include#include#include#include#include#include#includeintsockfd;voidsig_handler(intsigno){if(signo==SIGINT){printf("serverclose\n");close(sockfd);exit(1);}}voidout_addr(structs
洪流之源
·
2020-07-12 23:27
c/c++
linux
网络编程
Linux网络编程
(一)—— TCP/UDP的区别与联系以及各自的使用场景
TCP(传输控制协议TransmissionControlProtocol)TCP向应用层提供可靠地面向连接的字节流传输服务。它能提供高可靠性能通信(即数据无误、数据无丢失、数据无失序、数据无重复到达)。TCP特点面向连接使用TCP必须要先建立连接,建立连接之后双方的系统内核会为它们分配必要的资源,用来管理练连接的状态和传输的数据。在数据传输完成之后,涮坊需要关闭连接释放系统资源。TCP是全双工的
Thanos Yan
·
2020-07-12 22:37
网络通信
linux网络编程
linux网络编程
之套接字编程
1.ipv4套接字地址结构structsocketaddr_in{uint8_tsin_len;sa_famliy_tsin_famliy;协议簇in_port_tsin_port;端口structin_addrsin_addr;32位地址};2.对于将点分十进制数转换成32位的二进制数值的函数inet_pton(intfamliy,constchar*strptr,constchar*addrp
由仔誉
·
2020-07-12 22:53
linux网络编程
Linux网络编程
:原始套接字的魔力【上】
原文出处基于原始套接字编程在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证:也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操作的空间非常受限,只能使用它们已经开放给我们的诸如源、目的IP,源、目的端口等等。今天我们讨
lxhjjz
·
2020-07-12 22:33
网络开发
【嵌入式学习历程17】
Linux网络编程
(UDP篇)
什么是UDPUDP即用户数据报协议,它是一种无连接的协议,因此不需要像TCP那样通过三次握手来建立一个连接。同时,一个UDP应用可同步作为应用的客户或服务器方。由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单的多。UDP在数据传输过程中延迟小、数据传输效率高,适合可靠性要求不高的应用程序,或可以保障可靠性的应用程序。通常音频、视频和普通数据在传送时使用UDP较多。
qq_1061856980華仔
·
2020-07-12 22:25
学习记录
【
Linux网络编程
】基于UDP的客户端/服务器程序
效果就像开晚会的表白墙或者上墙一样,多个udp客户端都可以给服务端发送消息。服务端代码:#include#include#include#include#include#includeintmain(intargc,char**argv){intsock=socket(AF_INET,SOCK_DGRAM,0);if(sock0){buf[s]=0;printf("client%s:port%d:
春风来不来
·
2020-07-12 21:02
linux
[
Linux网络编程
]套接字编程
最开始的学习疑问,网络编程上的这些乱七八糟的名词这些都是用来干什么的?地址:为了使网络上的计算机通过唯一标识进行相互间通信端口:解决多个程序要同时访问网络IP协议:确定到达目的地的路由UDP协议:向应用程序提供一种面向无连接的服务TCP协议:提供一种面向连接的,可靠的数据传输服务套接字是什么在两个程序进行通讯连接的一个端点.是连接应用程序和网络驱动程序的桥梁.网络应用程序通过socket进行数据的
kkkkde
·
2020-07-12 21:04
c语言
Linux
linux网络编程
-SOCK API理解
在前面我们理解了网络的层级结构,接下来我们要介绍socketapi.也就是下面的这些函数:socket/bind/listen/accept/首先这些函数都是基于内核的,也就是内核函数,内核主要用于干什么?内核肯定是和硬件的驱动程序进行打交道的,不同的硬件放到主板上不同的位置,主板上都是电路板,大家基于主板上的电路图互相传递信号.因为linux内核把所有的外接设备都看作文件描述符,上图中会有一块缓
zark_fun
·
2020-07-12 19:57
linux
c++
服务器编程
Linux网络编程
视频 百度网盘
Linux网络编程
(总共41集)讲解
Linux网络编程
知识,分以下四个篇章。
weixin_34137799
·
2020-07-12 09:07
linux网络编程
之select poll epoll对比整理
IO复用:因为在linux中,一切皆文件,而文件就是一串二进制流。IO操作即是对文件进行读写(系统调用read/write)。同步和异步针对应用程序来说,关注的是程序中间的协作关系;阻塞与非阻塞更关注的是单个进程的执行状态。同步有阻塞和非阻塞之分,阻塞、非阻塞、多路IO复用,都是同步IO;异步必定是非阻塞的。同步:执行一个操作之后,进程触发IO操作并等待(也就是我们说的阻塞)或者轮询的去查看IO操
洗尽沉滓
·
2020-07-11 14:10
linux系列
linux之网络编程
Linux网络编程
——广播
转载http://blog.csdn.net/tennysonsky/article/details/45563851#概述在生活中广播无处不在,像平时在大街上卖物品的商人,在进行推广产品的时候往往都是使用一个喇叭来进行吆喝:“十块钱买不了吃亏,十块钱买不了上当,走过路过千万不要错过”,这就是广播。那么在网络中的广播又是什么样子的呢?网络上的广播指:由一台主机向该主机所在子网内(同一个局域网)的所
ai___believe
·
2020-07-10 15:07
Linux网络编程
:加密通讯协议SSL编程
客户端:#include#include#include#include#include#include#include#include#include#include#include#defineMAXBUF1024voidShowCerts(SSL*ssl){X509*cert;char*line;cert=SSL_get_peer_certificate(ssl);if(cert!=NULL
惜海
·
2020-07-10 13:58
Linux网络编程
物联网之
Linux网络编程
一
TCP/IP协议族的体系结构:TCP/IP协议是Internet事实上的工业标准一共有四层TCP/IP协议通信模型:TCP/IP协议下的数据包:Ethernetheader(14Bytes)---IPheader(20Bytes)---TCPheader(20Bytes)---data(MAX:1460Bytes)---Ethernettrailer(4Bytes)数据的封装与传递过程:TCP/I
许新天
·
2020-07-10 09:54
物联网之Linux网络编程
嵌入式C Linux程序设计教程
实用嵌入式CLinux程序设计(理论讲解+实际演示+项目实战)课程讲师:百姓课程分类:其他适合人群:初级课时数量:60课时用到技术:Linux涉及项目:
Linux网络编程
咨询QQ:1337192913本门课程的最终目的
weixin_34327761
·
2020-07-10 09:01
linux网络编程
之慢系统调用被信号中断产生EINTR错误怎么解决总结
1、介绍慢系统调用该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。慢系统调用可以被永久阻塞,包括以下几个类别:(1)读写‘慢’设备(包括pipe,终端设备,网络连接等)。读时,数据不存在,需要等待;写时,缓冲区满或其他原因,需要等待。读写磁盘文件一般不会阻塞。(2)
chen.yu
·
2020-07-10 04:51
Linux
网络编程
linux网络编程
中阻塞和非阻塞socket的区别
原文:http://blog.sina.com.cn/s/blog_4b029ef30100nxcb.html阻塞socket和非阻塞socket读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲区中的数据大于期望读取的字节数时,读取
starflame
·
2020-07-10 02:19
Linux
网络
socket
linux
编程
网络
服务器
buffer
实用嵌入式C Linux程序设计
实用嵌入式CLinux程序设计(理论讲解+实际演示+项目实战)课程讲师:百姓课程分类:其他适合人群:初级课时数量:60课时用到技术:Linux涉及项目:
Linux网络编程
咨询QQ:1337192913本门课程的最终目的
大家来学saas
·
2020-07-10 01:09
浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)
浅谈原始套接字SOCK_RAW的内幕及其应用(portscan,packetsniffer,synflood,icmpflood)分类:
linux网络编程
2013-10-0716:3072人阅读评论(0
pi9nc
·
2020-07-09 21:46
移动互联网
网络
操作系统
Makefile应用笔记(未完)
旁白:想要做Linux平台下项目编程工作,之前在网上买了一本清华大学出版社出版的《
Linux网络编程
》便学了起来。几天过去了,在这平台上的开发还没磨合好,但是掌握了不少东西。
coolx-w
·
2020-07-09 20:49
Linux
编程笔记
Unix/Linux系统相关
11.
Linux网络编程
-POSIX共享内存
一:POSIX共享内存在Linux中,POSIX共享内存对象驻留在tmpfs伪文件系统中。系统默认挂载在/dev/shm目录下。当调用shm_open函数创建或打开POSIX共享内存对象时,系统会将创建/打开的共享内存文件放到/dev/shm目录下。二:共享内存相关函数#includeintshm_open(constchar*name,intoflag,mode_tmode);@shm_open
知无涯99
·
2020-07-09 20:01
Linux网络编程
12.
Linux网络编程
-POSIX线程
一:POSIX线程的优点POSIX(可移植操作系统接口)线程是提高代码响应和性能的有力手段,体现在如下几点:1)线程拥有并发处理能力线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。2)线程间的共享内存机制对于大多数合作性任务,多线程比多个独立的进程更优
知无涯99
·
2020-07-09 20:01
Linux网络编程
学习笔记 Linux高性能服务器编程
头部结构IP路由IP路由表怎么更新IPv6TCP协议详解TCP服务的特点TCP头部结构TCP三次握手TCP状态转移过程TCP的复位(RST)报文段TCP交互数据流TCP成块数据流TCP超时重传TCP拥塞控制
Linux
jojozym
·
2020-07-09 18:26
Linux网络编程
:socket文件传输范例
基于TCP流协议的socket网络文件传输Demo:实现:C语言功能:文件传输(可以传任何格式的文件)/*************************************************************************>FileName:Server.c>Author:SongLee>E-mail:
[email protected]
>CreatedTime:20
dbbaq24022
·
2020-07-09 15:04
Linux网络编程
基础---IPV4地址
vIPV4地址我们使用的网络目前都是IPv4(IPversion4)版本的,所以使用到的IP地址也是第4版本的,IPv6版本的也有,不过先学好基础的嘛。所以,这个博客涉及到的所有的网络编程,都是基于IPv4的东东。在学习IPv4前,掌握ip地址相关的知识那是必须的必。1.IP地址1.1in_addr_t还是in_addr?IPv4地址,本质上是32位无符号整数。在Linux操作系统中,使用了in_
Clearfix_Xia
·
2020-07-09 14:09
Linux C高级编程——网络编程之以太网(2)
Linux网络编程
——以太网宗旨:技术的学习是有限的,分享的精神是无限的。1、以太网帧格式源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。
a1314521531
·
2020-07-09 12:57
Linux
C高级编程
Linux
C高级编程
linux下发送广播
关键字:linux广播255.255.255.255sendtoerror:Networkisunreachable全网广播场景:今天调试
linux网络编程
的广播,当向255.255.255.255的某个端口发送广播包的时候
qiaoliang328
·
2020-07-09 08:55
网络编程
LINUX
[
Linux网络编程
] 并发服务器的实现
一、并发服务器并发服务器模型的实现主要有三种方式:1.多进程2.多线程3.调用fcntl将sockfd设置为非阻塞模式二、多进程方式(参考代码C语言)/*****************************************************Filename:并发服务器Author:ZhengqijunVersion:1.2Date:2016/11/15Description:多进
zhengqijun_
·
2020-07-09 05:34
Linux
C
[
Linux网络编程
] 循环服务器的实现
一、循环服务器的定义循环服务器描述了在一个时刻只处理一个请求的服务器实现方式,通过在单线程内设置循环控制实现对多个客户端请求的逐一响应,这种服务器的设计、编程、调试和修改往往比较容易去实现。在循环执行的服务器对预期的负载能提供足够的反应速度时常使用这种类型的服务器。循环服务器有有UDP循环服务器和TCP循环服务器两种类型。二、UDP循环服务器UDP循环服务器的实现方法:UDP服务器每次从套接字上读
zhengqijun_
·
2020-07-09 05:34
Linux
C
基本IO模型理解
写在前面
Linux网络编程
中,经常被同步IO,异步IO,阻塞IO,非阻塞IO这些概念混淆!看了一篇博文,概念总结的很清晰。
執著我們的執著
·
2020-07-08 21:15
Linux 网络编程 全解(四)--------多进程并发服务器和多线程并发服务器
QQ:993650814
Linux网络编程
全解(一)--------网络基础协议
Linux网络编程
全解(二)--------套接字socket
Linux网络编程
全解(三)--------TCP三次握手、
KiranWang
·
2020-07-08 19:47
Linux网络编程
Linux网络编程
学习笔记(4)---TCP客户端/服务器模型(C/S模型)
TCP的客户端/服务器模型如下图所示。上图中,用到的函数介绍如下:1、socket()函数该函数用于创建一个新的套接字。函数原型intsocket(intdomain,inttype,intprotocol)参数介绍:domain:通信协议族,IPV4为AF_INET或PF_INETtype:指定socket类型,流式套接字(SOCK_STREAM)、数据报式套接字(SOCK_DGRAM)、原始套
007lizhen
·
2020-07-08 18:07
socket编程
C++
Linux网络编程学习笔记
linux网络编程
----->高并发--->多进程并发服务器
在做网络服务的时候并发服务端程序的编写必不可少。前端客户端应用程序是否稳定一部分取决于客户端自身,而更多的取决于服务器是否相应时间够迅速,够稳定.常见的linux并发服务器模型;多进程并发服务器多线程并发服务器select多路I/O转接服务器poll多路I/O转接服务器epool多路I/O转接服务器.本次主要讨论多进程并发服务器模型:使用多进程并发服务器时要考虑以下几点:父进程最大文件描述个数(父
weixin_34279184
·
2020-07-08 17:42
Linux网络编程
recvmsg()函数 实例
本程序是recvmsg()函数的简单应用:/**************************************************************************Filename:msg.c*Description:*Version:1.0*Created:2011年08月16日20时07分52秒*Revision:none*Compiler:gcc*Author:Y
weixin_33913332
·
2020-07-08 16:57
Linux网络编程
-tcp缓存设置
最近发现服务的逻辑完成时间很短,但是上游接收到的时间比较长,所以就怀疑是底层数据的序列化/反序列化、读写、传输有问题,然后怀疑是TCP的读写缓存是不是设置太小。现在就记录下TCP缓存的各配置项以及缓存大小的计算公式。1.有关发送、接收缓存的配置内核设置的套接字缓存/proc/sys/net/core/rmem_default,net.core.rmem_default,套接字接收缓存默认值(bit
weixin_30545285
·
2020-07-08 14:45
Linux网络编程
服务器模型选择之IO复用循环并发服务器
在前面我们介绍了循环服务器,并发服务器模型。简单的循环服务器每次只能处理一个请求,即处理的请求是串行的,效率过低;并发服务器可以通过创建多个进程或者是线程来并发的处理多个请求。但是当客户端增加时,就需要创建更多的进程或者线程,就会导致系统负载最终转移到进程或线程的切换开销上。为了减少这类开销,而使系统处理能力集中在核心业务上,就要求我们降低并发的进程或线程数目,因此又实现了一个更高级的IO复用循环
weixin_30387663
·
2020-07-08 13:10
linux网络编程
(6)基于多进程的TCP服务器与客户端编程
服务器端:#include#include#include#include#include#include#include#include#include#include#include#include#include#include"msg.h"intsockfd;/*信号处理函数*/voidsig_handler(intsigno){if(signo==SIGINT){printf("serv
洪流之源
·
2020-07-08 12:53
c/c++
linux
网络编程
Linux网络编程
-自己动手写进程池
并发服务器的实现中,可以通过动态的创建子进程(或子线程)来实现。这样有几个缺点:1、动态创建进程(或线程)比较耗时间,将导致客户响应较慢2、动态创建的子进程或子线程通常只用来为一个客户服务,这导致系统中产生了很多进程或线程,使进程或线程之间的切换消耗很多CPU时间3、动态创建子进程是当前进程的完整映像,当前进程需要谨慎管理其分配的文件描述符,否则子进程可能复制这些资源,导致系统可用资源急剧下降,进
luoxn28
·
2020-07-08 10:47
Linux/Unix学习
Linux网络编程
中的5种I/O模型
1.阻塞I/O模型阻塞I/O模型2.非阻塞I/O模型非阻塞I/O模型3.阻塞的I/O复用模型阻塞的I/O复用模型4.信号驱动的I/O复用模型信号驱动的I/O复用模型5.异步I/O模型异步I/O模型6.5种模型的比较image.png参考IO-同步,异步,阻塞,非阻塞(亡羊补牢篇)UNIXNetworkProgramming,Volume1,ThirdEdition,TheSocketsNetwor
georgeguo
·
2020-07-08 08:27
Linux网络编程
——tcp并发服务器(epoll实现)
转载:http://blog.csdn.net/lianghe_work/article/details/46551871通过epoll实现tcp并发回执服务器(客户端给服务器发啥,服务器就给客户端回啥)代码如下:[csharp]viewplaincopy#include#include#include#include#include#include#include#include#include
sinat_35297665
·
2020-07-08 05:20
Linux网络编程
Linux
API
Java NIO之Selector 浅析
理解selector之前,最好要知道I/O模型,如果对
Linux网络编程
(polle
{"nickName":"白某"}
·
2020-07-08 00:02
java
linux网络编程
:高并发服务器模型(四) epoll
一、概述epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。目
Jags
·
2020-07-07 20:54
linux网络编程
嵌入式
Linux网络编程
,TCP多并发服务器,TCP多线程并发服务器,TCP多进程并发服务器
文章目录1,TCP多线程并发服务器1.1,头文件net.h1.2,客户端client.c1.3,服务器端server.c2,TCP多进程并发服务器2.1,头文件net.h2.2,客户端程序client.c2.3,服务器端程序service.cTCP循环服务器模型TCP多进程并发服务器TCP多线程服务器socket(...);bind(...);listen(...);while(1){accept
nice梦醉天宇
·
2020-07-07 16:06
嵌入式Linux-网络编程
Linux网络编程
——tcp并发服务器(epoll实现)
通过epoll实现tcp并发回执服务器(客户端给服务器发啥,服务器就给客户端回啥)代码如下:#include#include#include#include#include#include#include#include#include#include#include#defineOPEN_MAX100intmain(intargc,char*argv[]){structepoll_eventev
lianghe_work
·
2020-07-07 13:58
Linux_高级网络编程
Linux网络编程
——tcp并发服务器(poll实现)
想详细彻底地了解poll或看懂下面的代码请参考《
Linux网络编程
——I/O复用之poll函数》代码:#include#include#include#include#include#include#include
lianghe_work
·
2020-07-07 13:57
Linux_高级网络编程
Linux网络编程
:recv的返回值
recv是网络编程中用于TCP传输接收数据的接口,由于工作中一直没有接触到网络编程,虽然知道这个函数,但是没有使用经验,所有对接口细节不是很了解。直到前阵子在项目中调试第三方的源码时,跟踪到这个函数,才发现它的返回值和我想象的不太一样。recv函数的原型:ssize_trecv(intsockfd,void*buf,size_tlen,intflags);之前知道的是如果读取成功,会返回实际读取到
铁桶小分队
·
2020-07-07 12:10
Linux编程
网络编程
Spark在Yarn上运行Wordcount程序
过往记忆专注于Hadoop、Spark、Hive、Flume、Hbase,QQ交流群:138615359首页HadoopSparkHiveHbaseFlume面试题面试题数据结构算法
Linux网络编程
Guavahadoop
追寻北极
·
2020-07-07 11:05
cloud
Linux网络编程
入门
(一)
Linux网络编程
--网络知识介绍
Linux网络编程
--网络知识介绍客户端和服务端网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端在网络程序中,如果一个程序主动和外面的程序通信
jenshy
·
2020-07-07 11:54
Linux
C/C++
Linux C语言实现的Socket通信
以下是
Linux网络编程
的函数说明'socket'FunctionToperformnetworkI/O,thefirstthingaprocessmustdoiscallthesocketfunction
ivan_zjj
·
2020-07-07 11:53
Linux
linux网络调试发包抓包工具
目录1、发包工具1.1sendip1.2tcpreply2、抓包工具2.1、tcpdump2.2tcpflow3、速率测试工具4、加密工具4.1tcpcryptd5.
linux网络编程
5.1、tcp5.2
听雨听风眠
·
2020-07-07 09:44
工具
linux网卡调试工具
抓包
发包
网络编程
tcpdump
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
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
其他