linux 应用
文章平均质量分 63
简单并快乐着
这个作者很懒,什么都没留下…
展开
-
Linux系统编程之错误处理:perror,strerror和errno
1,在系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。errno这个全局变量在头文件中声明如下:extern int errno;errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,它的值将会被改变,根据errno值的不同,我们就可以知道自己的程序发转载 2017-12-27 10:56:20 · 350 阅读 · 0 评论 -
TCP 和 UDP 在socket编程中的区别
一、TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息 拥有大量Client 对数据安全性无特殊要求 网络负担非常重,但对响应...转载 2018-03-05 12:04:55 · 751 阅读 · 0 评论 -
Linux编程之UDP SOCKET全攻略
Linux编程之UDP SOCKET全攻略这篇文章将对linux下udp socket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udp socket的一些偏僻知识点,本文都会讲到。尽可能做到,读了一篇文章之后,大家对udp socket有一个比较全面的认识。本文分为两个专题,第一个是常用的upd socket框架,第二个是一些udp socket并不常用但又相当重要的知识点。 一、基...转载 2018-03-06 12:30:22 · 272 阅读 · 0 评论 -
Linux网络编程-UDP接收数据丢包解决方案
转自 http://blog.csdn.net/baidu_35692628/article/details/76165337序言项目涉及基于UDP的socket通信,该部分的基本情况如下:发端程序:主函数开启4个发包线程,每个线程发送一定量的数据,通过限制发包速率限制发包流量。收端程序:主函数对应开启4个收包线程,每个线程收取对应端口的数据,收到数据包即时封装处理。其他说明:本地收发。如果不限制...转载 2018-03-21 12:12:27 · 659 阅读 · 0 评论 -
UDP主要丢包原因及具体问题分析
一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv. 2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个udp包,不切割直接通过sen...转载 2018-03-26 11:46:53 · 753 阅读 · 0 评论 -
用ping ,mtr ,traceroute 进行网络丢包分析
转自 https://blog.csdn.net/hankerzero/article/details/67062617 一、丢包原因 网络丢包原因很多,但是一般都是链路问题:骨干拥塞链路某个交换机背板坏了交换机负载不均导致 此外,还有主机本身原因:系统CPU负载高,数据包到网卡后CPU不能及时处理,但是缓冲区溢出,从而丢包。网卡故障 丢包时一般先分析下网络层面的,主机本身的还是原因较少的...转载 2018-03-26 12:13:10 · 19494 阅读 · 1 评论 -
ifconfig 下面的一些字段(errors, dropped, overruns)
ifconfig 下面的一些字段(errors, dropped, overruns)一台机器经常收到丢包的报警,先看看最底层的有没有问题:# ethtool em2 | egrep 'Speed|Duplex' Speed: 1000Mb/s Duplex: Full# ethtool -S em2 | grep crc rx_crc_errors: 0S...转载 2018-03-22 10:52:43 · 2086 阅读 · 0 评论 -
linux下利用valgrind工具进行内存泄露检测和性能分析
valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具: 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。 3、cachegrind:分析CPU的cache命中率、丢失率,用于进行代码优化。 4、helgrind...转载 2018-04-02 17:23:17 · 276 阅读 · 0 评论 -
linux 常见内存问题检测工具
原文地址:http://blog.csdn.net/jinzhuojun/article/details/46659155C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了。当然,祼看c...转载 2018-04-03 10:39:49 · 1393 阅读 · 0 评论 -
开发板上syslog使用方法小结
首先我们需要先确认我们的开发板上是否安装了syslog服务,在开发板的文件系统下输入syslogd help命令查看如果不支持就是busybox的版本太低了。当确定安装了后我们根据help显示的默认配置文件来查看该配置文件是否存在,如果不存在我们需要创建一个配置文件如:touch /etc/syslog.conf,同时使用syslogd -f /etc/syslog.conf来进行绑定。转载 2018-02-06 15:06:33 · 324 阅读 · 1 评论 -
Linux 的伪终端的基本原理 及其在远程登录(SSH,telnet等)中的应用
Linux 的伪终端的基本原理 及其在远程登录(SSH,telnet等)中的应用转自 https://www.cnblogs.com/zzdyyy/p/7538077.html——这篇文章写的太棒了,非常感谢作者的分享,让我了解了很多知识。本文介绍了linux中伪终端的创建,介绍了终端的回显、行缓存、控制字符等特性,并在此基础上解释和模拟了telnet、SSH开启远程会话的转载 2018-01-29 16:14:01 · 1646 阅读 · 0 评论 -
理解IP和端口
理解IP和端口IP地址是一个规定,现在使用的是IPv4,既由4个0-255之间的数字组成,在计算机内部存储时只需要4个字节即可。在计算机中,IP地址是分配给网卡的,每个网卡有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机则拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。IP地址的概念类似于电话号码、身份证这样的概念。由于IP地址不方便记忆,所以有专门创造了域名(Do转载 2018-01-23 10:14:20 · 732 阅读 · 0 评论 -
Linux下路由配置梳理
转自 https://www.cnblogs.com/kevingrace/p/6490627.html在日常运维作业中,经常会碰到路由表的操作。下面就linux运维中的路由操作做一梳理:------------------------------------------------------------------------------先说一些关于路由的基础知识:1)路由转载 2018-01-15 12:06:01 · 234 阅读 · 0 评论 -
基于TCP流协议的socket网络文件传输Demo
基于TCP流协议的socket网络文件传输Demo:实现:C语言功能:文件传输(可以传任何格式的文件)[cpp] view plain copy/************************************************************************* > File Name:转载 2018-01-23 11:07:43 · 1596 阅读 · 0 评论 -
linux 调试利器gdb, strace, pstack, pstree, lsof
linux 调试利器gdb, strace, pstack, pstree, lsof1)如何使用strace+pstack利器分析程序性能?http://www.cnblogs.com/bangerlee/archive/2012/04/30/2476190.html此文有详细介绍怎么用strace和pstack2)Linux下多线程查看工具(pstree转载 2018-01-31 00:00:24 · 324 阅读 · 0 评论 -
linux重定向串口打印到telnet
在嵌入式开发中,我们都是使用串口进行调试定位问题。然而在成品调试或者远程调试时,没有串口,只能telnet进去,少了很多应用进程的打印,这样就不利于我们发现问题。需要一种方法把串口所有输出重定向到telnet。 这就涉及到一些终端概念,可以参考上篇博文linux下tty, ttyn, pts, pty, ttySn, console理解。主要是利用tty的ioctl重定向方法来实现重转载 2018-01-25 18:09:16 · 2112 阅读 · 0 评论 -
linux之dup和dup2函数解析
本文转载,原文地址:http://blog.csdn.net/fulinus/article/details/9669177#comments1、文件描述符在内核中数据结构 在具体说dup/dup2之前,我认为有必要先了解一下文件描述符在内核中的形态。一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2),0与进程转载 2018-01-18 15:08:59 · 339 阅读 · 0 评论 -
tcpdump非常实用的抓包实例
详细的文档见tcpdump高级过滤技巧基本语法========过滤主机--------- 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据# tcpdump -i eth1 host 192.168.1.1- 源地址# tcpdump -i eth1 src host 192.168.1.1- 目的地址# tcpdump -i转载 2018-01-29 10:25:36 · 324 阅读 · 0 评论 -
守护进程使用syslog函数打印信息(基于ARM-Linux)
本文将描述在使用inetd守护进程时,如何通过syslog函数打印消息到日志文件。为什么需要这样做呢?根据《UNIX网络编程 卷1:套接字联网API》一书第13章的描述:由于守护进程没有控制终端,它们不能把消fprintf到stderr上。从守护进程中登记消息的常用技巧就是调用syslog函数。而sysolog函数需要syslogd服务的支持。因此在编译busybox时需要转载 2018-01-29 11:37:57 · 1163 阅读 · 0 评论 -
使用 Strace 和 GDB 调试工具的乐趣
使用 Strace 和 GDB 调试工具的乐趣使用 Strace 和 GDB 调试工具的乐趣在研究 UNIX 系统的过程中获取知识William Zimmerly2006 年 6 月 22 日发布WeiboGoogle+用电子邮件发送本页面 0UNIX 家族总是为用户提供了丰富的工具。UNIX 是一个工具财宝箱,有了这些工具,您不仅可以完成具有创造性的工作,还可以在深入研究该操作系统的同时得到教育...转载 2018-04-03 16:29:21 · 275 阅读 · 0 评论